Skocz do zawartości

ritchey

Użytkownicy
  • Zawartość

    101
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    8

Posty napisane przez ritchey


  1. Używałem przez parę m-cy E3 (już nie pamiętam dokładnie jaka wersja, ale jedna z niższych). Potem przez rok 2-procesorowy serwer z CPU X5650. Nie da się jednoznacznie powiedzieć który jest lepszy - ponieważ to zależy do jakich zastosowań. Poniżej krótkie porównanie.

     

    http://ark.intel.com/pl/compare/65732,47922

     

    X5650 ma wyższy pobór mocy (95W vs 69W)

    Różnica jest nieduża - niecałe 30% więcej.Ale 2xX5650 to już będzie sporo więcej niż 1xE3 (190W vs 69W) - czyli prawie 3 razy więcej.

     

    X5650 obsłuży duużo więcej pamięci RAM

    Szczególnie ważne w przypadku niektórych pamięciożernych zastosowań. W E3 maksymalnie zainstalujesz 32GB RAM. Natomiast w 2x X5650 to możesz włożyć spokojnie 100-200GB RAM (zależnie od płyty).

     

    E3 NIE obsługuje konfiguracji 2-procesorowych

    Jak sam napisałeś w serwerze X5650 będziesz mieć 2 procesory. Z E3 nie masz takiej możliwości (tylko pojedynczy CPU).

     

    Ogólna wydajność E3 jest nieco wyższa pojedynczego X5650

    Pojedynczy E3 jest nieznacznie szybszy od X5650 (wynik 8850 vs 7662)

    http://www.cpubenchmark.net/high_end_cpus.html

    Natomiast dwa X5650 będą już znacznie szybsze od pojedynczego E3.

    Warunek aby to wykorzystać to aplikacja która intensywnie wykorzystuje równoległe przetwarzanie.

     

    Pojedynczy rdzeń E3 jest dużo szybszy niż rdzeń X5650

    E3 ma dużo szybsze rdzenie od starszego Xeon-a: http://www.cpubenchmark.net/singleThread.html

    Są one o połowę szybsze - wynik 1930 vs 1227

    Niektóre aplikacje wykorzystują tylko pojedynczy wątek. Np. pojedyncze zapytanie w PostgreSQL zawsze wykonuje się na 1 wątku. Tak więc duże zapytanie na E3 wykona się sporo szybciej niż na X5650. Oczywiście w przypadku wielu równoległych zapytań - rolę zaczyna już odgrywać wiele rdzeni.

     

    E3 jest dużo tańszy od X5650

    Cena sugerowana $230 vs $999. Dla dwóch X5650 cena będzie już prawie $2000.


  2. Przeszukaj find-em/grep-em wszystkie pliki do 5 kB (konfiguracja crona raczej więcej nie zajmuje) na zawartość scieżki do tego pliku, który w komunikacie błędu pisze że nie istnieje:

    find /etc -not -size +5k -type f -exec grep -l /plik/ktorego/nie/moze/znalezc "{}" \; 2>/dev/null

    Przekierowanie błędów jest po to aby nie wyskakiwały "Permission denied". Ale jak będziesz robił to z root-a to jest niepotrzebne.

    Możesz też przeszukać całe drzewo (w sumie tak jak Miłosz powiedział może być np. w /var):

    find / -not -size +5k -type f -exec grep -l /plik/ktorego/nie/moze/znalezc "{}" \; 2>/dev/null

  3. Nauka programowania w języku/platformie X czy Y sprowadza się do 3 rzeczy:

    1. Nauka składni języka (deklaracja klas/metod/interfejsów, instrukcje, operatory, wyrażenia, bloki, etc).

    2. Nauka dostępnych bibliotek/frameworków (wbudowanych i zewnętrznych)

    3. Nauka ogólnych zasad niezależnych od platformy (OOP, design patterns, DRY, KISS, TTD, i wiele podobnych terminów)

     

    Rozwijając te punkty:

    Ad 1. To zajmuje przeważnie kilka dni - kilka tygodni (zależnie od intensywności i od tego czy to Twój pierwszy język programowania, czy też kolejny)

    Ad 2. To już zajmuje od kilku tygodni do kilku m-cy (a może nawet kilkunastu, jak chcesz poznać wiele bibliotek - np. frameworki aplikacji, ORM-y, kolekcje, wątki, regex, itd)

    Ad 3. Tego się uczysz latami :)

     

    Wracając do Twojego pytania - to nie ma znaczenia od jakiego języka zaczniesz czy będzie to Java, PHP, C# czy Ruby (wyłączając może takie języki jak SQL - gdyż on ma zupełnie inne zastosowanie). Ponieważ jeżeli poznasz bardzo dobrze jedną platformę - to przejście na inne będzie w miarę łatwe i szybkie. Ze swojej strony polecam Javę - ze względu na poniższe cechy:

    • to język w którym duży nacisk kładzie się na czysty kod (OOP, design pattern, TTD). Jeżeli dobrze go poznasz to nauczysz się bardzo ważnych uniwersalnych zasad dotyczących designu. W javie takie zasady stosuje się od lat i są one na porządku dziennym.
    • ilość dostępnych bibliotek i frameworków jest chyba największa ze wszystkich języków (1-2 miejsce w rankingu TIOBE) - możesz używać gotowego i sprawdzonego kodu napisanego już przez innych
    • sama składnia języka jest bardzo prosta i intuicyjna - nawet początkujący może się jej nauczyć w tydzień lub dwa
    • w sieci jest mnóstwo tutoriali, artykułów, pytań i odpowiedzi (np. Stack Overflow)

    Jak poznasz dobrze javę - polecam naukę innych języków - node.js bardzo ostatnio popularny, a jeżeli chodzi o wysokość zarobków to w czołówce jest Objective-C (iphone, ipad) - jak jesteś dobry to 10k/m-c nie stanowi problemu.

     

    Ktoś wspomniał o wysokich kosztach hostingu dla Javy - to bzdura :) Kupujesz pierwszy lepszy VPS z 1 GB RAM i spokojnie postawisz tomcat-a z Twoją aplikcją (w ViPover taki VPS kosztuje 20 zł/m-c netto). Jeżeli nawet chcesz hostować jakąś dużą aplikację to 2-4 GB RAM-u wystarczy bez problemu (ok 50-70 zł m/c). Chyba że mówimy o serwisach które robią naprawdę spory ruch - wtedy to już dedyk z 16 lub 32 GB RAM (ok 300-400 zł/m-c). Zamiast Tomcat-a możesz postawić też JBossa czy inny serwer.

     

    Tutaj statystyki wynagrodzeń dla różnych techologii (rynek UK):

    http://www.itjobswatch.co.uk/default.aspx?page=1&sortby=5&orderby=1&q=&id=0&lid=2618

    (klikając na kolumnach możesz sortować po różnych wielkościach)

    • Upvote 4

  4. Podobny przypadek miałem w HP Proliant ML110 g6. Tam też niby jest RAID który ustawiasz z poziomu BIOS-u - więc początkowo wydawało mi się że to hardware RAID. Wszystko było ładnie do momentu gdy chcieliśmy zwiększyć pojemność macierzy przez zakup większych dysków. Rozszerzenie tej macierzy - niestety jest niemożliwe przez narzędzia takie jak hpacucli czy ACU. Sklonowanie macierzy jakimś zewnętrznym softem (np. clone zilla) jest też niemożliwe - gdyż clone zilla nie widzi macierzy tylko pojedyncze dyski.

    Natomiast klonowanie dysk do dysku powoduje zniszczenie dysku logicznego (gdyż w pierwszych sektorach dysku macierz umieszcza tam jakieś metadane).

    Tak jak powiedział @malu - to zwykły fake RAID i trzymaj się z dala od takich rozwiązań :)


  5. Na tych intelach z tego co pamiętam nie ma podtrzymania zasilania do cache wiec można stracić dane w przypadku utraty zasilania.

     

    Na Intelach nie, podobnie zresztą na innych dyskach SSD - ale mam na myśli macierz RAID HP SmartArray - ona ma podtrzymywanie bateryjne.

     

    Mam jeszcze takie wytłumazcenie, że O/S zapisuje na dysk całe bloki/sektory i to w nich liczy ilość zapisanych danych. Natomiast przeważnie jest tak że na zapisywanym bloku faktycznej zmianie ulega tylko jego niewielki fragment. Może firmware w SSD - porównuje zapisywane bloki z dotychczasowym stanem i modyfikuje jedynie te komórki, które rzeczywiście uległy zmianie. Tym samym ilość zapisywanych komórek znacznie się zmniejsza ?


  6. Hmm rzeczywiście Disk Write Cache jest Disabled:

       Cache Board Present: True
       Cache Status: OK
       Cache Ratio: 10% Read / 90% Write
       Drive Write Cache: Disabled
       Total Cache Size: 1024 MB
       Total Cache Memory Available: 816 MB
       No-Battery Write Cache: Disabled
       Cache Backup Power Source: Capacitors
       Battery/Capacitor Count: 1
       Battery/Capacitor Status: OK
    
    

    Więc teraz już nic nie rozumiem.

    A dlaczego HP domyślnie wyłącza cache ? Czy może on powodować jakieś problemy ?

    Wersja firmaware macierzy to 3.22.


  7. Właśnie chciałem Ci zasugerować kompilację najnowszego smartmontools'a.

     

    Odnośnie wykorzystania dysku to jeżeli używasz ext4 to pokaż:

    tune2fs -l /dev/$orana-partycja

     

    Wartość: "Lifetime writes:"

     

    Dzięki Mateusz,

    tune2fs podaje 176 TB.

    To by się zgadzało z iostat-em (12 m-cy razy ok 15TB/m-c).

    Z tego co widzę to Intel SSD 520 ma żywotność 5000 cykli zapisu dla komórki pamięci.

    To by oznaczało że max. żywotność dysku to 1 TB (taka jest łączna pojemność macierzy) * 5000 = czyli 5000TB.

    Ale to jest dla idealnego przypadku przy równomiernym rozkładzie. W praktyce wartość tą należy kilkukrotnie zmniejszyć - powiedzmy do ok 1000 TB. To by oznaczało że dysk powinien mieć ok 15-20% zużycia.

    A ma tylko 1%.

    Trochę pomyślałem z czego to może wynikać i już chyba wiem.

    Ta macierz ma 1 GB cache-u (Battery Backed Write Cache). Natomiast specyfika aplikacji na serwerze jest taka - że te 500 GB dziennego zapisu dotyczy mniej więcej przestrzeni dysku o rozmiarze mniejszym niż 1 GB (tylko że jest ona kilkusetkrotnie modyfikowana i zapisywana na nowo). To powoduje że ten cache w dużym stopniu eliminuje większość zapisów na dysku SSD. Po prostu wielokrotne zapisy dot. tego samego obszaru dysku scala w jeden zapis. I jak widać całkiem nieźle mu to wychodzi :)

    A takie pytanie z innej beczki, kontroler masz aktualny?

     

    Czy mógłbyś wyjaśnić co znaczy "aktualny kontroler" ?


  8. @Update

    Chyba już rozwiązałem problem.

    Pierwotnie korzystałem z dość starej wersji smartctl-a 5.40 z 2010r. (wersja domyślnie instalowana apt-get em).

    Natomiast teraz pobrałem najnowszą wersję 6.2 - która wydaje się działać już prawidłowo z tą macierzą HP.

     

    Tak więc komendy podane przez Miłosza i Patryka działają w porządku - dzięki.

    smartctl -a -d cciss,X /dev/sg0

     

    Dyski mają wskaźnik Media_Wearout_Indicator na poziomie 99% (czyli dopiero 1% zużycia). To mnie trochę dziwi - ponieważ od ponad roku jest na nich zapisywane bardzo duża ilość danych. Przed chwilą sprawdzałem iostat-em statystyki z ostatniego m-ca - wychodzi że średnio na minutę jest zapisywane 360 MB, co daje 518 GB/dzień i ponad 15 TB/m-c. Czy to możliwe że przy tak dużej orce było takie małe zużycie dysku ? Chyba że iostat jakoś przekłamuje te wartości ?

     

     

     


  9. Powiem tak, mi na G8 na P420i bez problemu czyta informacje o intelach 520.

     

    Więc to dość ciekawa przypadłość.

     

    To ja tylko powiem że serwer jest hostowany właśnie w Waszej firmie :) /ViPower/

     

    Przed chwilą próbowałem używać polecenia hpacucli diag

    Jest jakiś postęp - gdyż zwraca mi obszerny raport - ale wciąż brak tam informacji o stanie zdrowia SSD.

    @Update

    Ok udało mi się teoretycznie uzyskać informację za pomocą polecenia:

    hpacucli ctrl all diag file=raid-info.zip ris=on
    

    Generuje obszerny raport (ok 1 MB). Są tam informacje dot. wszystkich dysków macierzy i wartości wielu parametrów, m.in:

    Percent Endurance Used 0x0000

    Power On Hours 0x0000
    Niestety wygląda na to że te informacje są nieprawidłowe, gdyż dyski są bardzo ciężko "orane" od ponad roku, a "endurance used" jest wciąż zero. Natomiast "Power on Hours" powinno mieć wartość conajmniej 24*365 (godziny w roku) - a jest wciąż zero.
    Jakieś pomysły ?

    @Mateusz, a możesz podać jakiego polecenia dokładnie używasz ?


  10. Miłosz, Patryk - dzięki za Waszą pomoc.

    Niestety polecenie:

    smartctl -a -d cciss,0 /dev/sg0

    Nie pokazuje informacji o które mi chodzi, oto wynik:

    Serial number: CVCV...
    Device type: disk
    Local Time is: Thu Mar 13 21:16:39 2014 CET
    Device supports SMART and is Enabled
    Temperature Warning Disabled or Not Supported
    SMART Health Status: OK
    
    Current Drive Temperature:     <not available>
    Read defect list: asked for grown list but didn't get it
    
    Error Counter logging not supported
    Device does not support Self Test logging
    
    

    Dyski o których mowa to Intele serii SSD 520.

    Próbowałem też z różnymi wartościami cciss,X oraz z różnymi /dev/sgX - rezultat taki sam.

    Generalnie to widzę że w katalogu /dev mam m.in. trzy węzły: sg0, sg1, sg2 - natomiast cciss żadnego.

    Jakieś propozycje jeszcze macie ?


    @Update:

    Z tego co widzę to polecenie:

    smartctl -a -d cciss,0 /dev/sg0

    Niby działa, gdyż jak podaje cciss od 0 do 3 to wypisuje wynik j/w, natomiast jak dam jakiś większy indeks to otrzymuję błąd:

    >> Terminate command early due to bad response to IEC mode page
    A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
    
    

    Tak więc komunikacja z dyskiem teoretycznie zachodzi, ale nie zwraca danych na których mi zależy.


  11. Witam,

     

    Mam serwer HP Proliant DL360p Gen8 z macierzą Raid HP SmartArray p420i.

    W macierzy są 4 dyski SSD w konfiguracji RAID 10.

    Chciałbym sprawdzić "stan zdrowia" SSD-ków poleceniem smartctl, ale niestety nie bardzo chce to działać.

    Próbowałem różne opcje, ale za każdym razem polecenie nie może się skomunikować z dyskiem.

    Sprawdzałem też hpacucli - ale ono nie zwraca informacji o stanie zdrowia dysków.

     

    Jeżeli ktoś wie jak to zrobić - to byłbym wdzięczny.


  12. Witam,

     

    Mamy w biurze serwer HP Proliant ML110 G6 z macierzą RAID SmartArray B110i:

    http://h18004.www1.hp.com/products/quickspecs/DS_00178/DS_00178.pdf

     

    Dotychczas miał on 2 dyski 250 GB w RAID1.

    Jednak potrzebowaliśmy większej pojemności więc kupiliśmy 2 nowe dyski 1 TB.

    Zamieniliśmy 1 dysk 250 GB na 1 TB - zrebuildował się.

    Potem drugi 250 GB na 1 TB - też się zrebuildował.

    Teraz więc mamy macierz RAID1 z dwoma dykami 1 TB - ale nadal w rozmiarze 250 GB.

     

    Soft HP (ACU) umożliwia rozszerzenie macierzy online do większego rozmiaru, ale wymagana do tego jest macierz z podtrzymaniem bateryjnym - więc nasza tego warunku nie spełnia.

     

    Pytanie - czy da się zwiększyć rozmiar macierzy do 1 TB, ale bez usuwania i tworzenia jej od nowa ?

    Chodzi o to aby uniknąć ponownej instalacji OS-a, aplikacji, baz danych, etc.

    Może są jakieś specjalne narzędzia do tego ?

     

    Będę bardzo wdzięczny za pomoc :)


  13. W jednym serwerze mamy RAID10 z 4-ech dysków Intel SSD 480 GB (seria 520). Wszystko działa super od ponad roku. Natomiast wcześniej były RAID-y 1 z Vertex-ów 3, a potem z Vertex-ów 4. Z Vertex-ami często były problemy, zdarzało się że macierz traciła synchronizacje i się rebuildowała. Generalnie statystyki zwrotów dysków mówią że jak SSD to tylko Intel i Samsung:

    http://www.behardware.com/articles/881-7/components-returns-rates-7.html

     

    OCZ jest najgorszy pod tym względem.


  14. Potrzebuję prosty skrypt udostępniania plików z serwera/FTP. Krótki opis w punktach jak to ma działać:

    1. Mam na serwerze katalog z podkatalogami i plikami. Załóżmy że jest to katalog $MAIN_DIR.

    2. $MAIN_DIR jak i cała jego zawartość jest prywatny i niedostępny publicznie.

    3. Administrator loguje się do skryptu i może chodzić sobie (przeglądać) zawartość $MAIN_DIR. Czyli zwykłe listowanie plików/katalogów.

    4. Administrator może sobie zaznaczyć wybrane pliki/lub podkatalogi w $MAIN_DIR i chcieć je udostępnić komuś z zewnątrz (tzn. przez WWW).

    5. Wtedy skrypt kopiuje wybrane przez admina pliki do jakiegoś publicznego katalogu tymczasowego o losowej nazwie (np. a4Ghy5crRWp1KW)

    6. Administrator przesyła mailem osobie wygenerowany link do katalogu tymczasowego (np. stronka.pl/public/a4Ghy5crRWp1KW)

    7. Osoba sobie wchodzi na w/w link i ma dostęp do plików.

    8. Dużym plusem była by możliwość ustalenia czasu udostępniania linku (np. na 24 lub 48 godzin). Po tym czasie link stał by się nieaktywny a tymczasowy katalog z kopiami plików byłby automatycznie usuwany.

    9. Ponadto mile widziana opcja do uploadowania nowych plików i tworzenia nowych katalogów (tylko dla administratora oczywiście).

     

    Punkty 3-7 są krytyczne i obowiązkowe. Punkty 8-9 nie są obowiązkowe, ale mile widziane.

    Czy ktoś z użytkowników zna taki skrypt ?

    Może być nawet płatny (jednorazowo).

    Oczywiście szukałem skryptów w google "file sharing script" ale są ich setki i nie sposób ich będzie wszystkich przetestować - dlatego pytam się tutaj.

    Z góry dzięki za pomoc.


  15. Póki co wiemy że Twoja baza będzie mieć ok 4 GB rozmiaru i będzie bazą o charakterze OLAP (dużo odczytu mało zapisu). Powiedz jeszcze:

     

    • Jakiego rodzaju zapytania będą tam wykonywane ? Czy wybierające pojedyncze wiersze (np. wybierz kontrahenta o ID = xxx), czy też agregujące tysiące wierszy (np. policz sumę wszystkich transakcji z ostatniego kwartału).
    • Jakiego rzędu ilość zapytań na sekundę/minutę ?
    • Czy wydajność jest dla Ciebie kluczowa czy też dłuższe wykonywanie zapytań Ci nie przeszkadza ?

     

    Na co dzień zajmuje się dużymi bazami danych - więc postaram się doradzić Ci konfigurację serwera.


  16. Dziękuję wszystkim za sugestie. Odnośnie tego czy to incydentalny przypadek - raczej nie.

    Problem wystąpił po raz pierwszy pod koniec czerwca. Na niektóre emaile otrzymywałem zwroty:

    host mx0.megahost.pl [77.79.234.191]: 550-rejected because 86.111.246.154 is in a black list at bl.spamcop.net
    550 Blocked - see http://www.spamcop.net/bl.shtml?86.111.246.154

    Zgłosiłem do supportu, który naprawił problem i było dobrze przez ponad m-c. Ale kilka dni temu sytuacja znów się powtórzyła:

    host mail.karum.pl [62.129.244.91]: 550 Email blocked by hostkarma.junkemailfilter.com

    Wczoraj znów zgłosiłem problem do supportu. Niby naprawili, a właśnie dzisiaj wysyłałem maila i otrzymałem znowu zwrot:

     host mx2.me.com.akadns.net [17.158.8.70]: 550 5.7.0 Blocked - see https://support.proofpoint.com/dnsbl-lookup.cgi?ip=86.111.246.154:

    Więc sytuacja wydaje się nie być tylko pojedynczym incydentem.

     

    Było by bardzo miło gdyby Pan Szymon z Prohostu coś zrobił w tej sprawie.

     

    Pozdrawiam,


  17. Witam,

     

    Mam wykupiony hosting wirtualny w prohost. Wszystko działa wspaniale już od kilku lat, ale mam problem z mailami. W prohoście jest to tak rozwiązane że jest jeden serwer pocztowy wspólny dla wielu klientów. Jeżeli teraz jeden z klientów mojej firmy hostingowej wysyła spam - to przez to serwer pocztowy prohostu jest blacklistowany na różnych listach. Z tego powodu gdy ja później wysyłam mail-e to część z nich nie dochodzi - gdyż serwery pocztowe moich adresatów uznają mnie za spamera i odrzucają maile.

     

    Przyczyną problemu jest to że jeden serwer pocztowy na konkretnym adresie IP - jest współdzielony przez wielu klientów. Czy tak jest na każdym hostingu wirtualnym ?

     

    Czy są może takie hostingi wirtualne gdzie ten problem jest jakoś porządnie rozwiązany ?

     

    Wiem że mogę postawić własny serwer do obsługi poczty np. na VPS-ie, ale wymaga to dodatkowych nakładów - a ilość maili jakie wysyłam i odbieram jest raczej niewielka.

     

    Z góry dziękuję za sugestie.


  18. Aby pociągnąć kogoś do sądu, musisz:

    1. Mieć 100% pewność że ten szablon jest skopiowany od Ciebie. Najlepiej gdy oprócz podobieństwa wizualnego, skopiowane są całe bloki kodu.

    2. Jeżeli jest spełniony warunek nr 1, najlepiej iść do notariusza i udokumentować ten fakt notarialnie (koszt 246 zł). Wtedy masz niezbity dowód w sądzie i rozprawa będzie jedynie formalnością.

×