bonifacy1980 0 Zgłoś post Napisano Styczeń 31, 2017 Witam. Posiadam serwis hostingujący filmy. Średnia wielkość jednego filmu to około 1gb.Filmów jest około 9000 plików. Posiadam serwer z oferty ovh: CPU Intel® Xeon® CPU D-1540 @ 2.00GHz Rdzenie : 16 Cache : 12288KB RAM 2x 16384MB Dyski 3 x 2000 GB Płyta główna X10SDV-TLN4F Hardware raid. Dyski ustawione na raid 0. Przepustowość 3gbps upload. Osób średnio online w jednej sekundzie 60-400 zależy od pory dnia. Od początku stycznia odnotowałem znaczy spadek wydajności serwera. Był kupiony serwer w konfiguracji tej samej tylko, że raid software. Zużycie procesora nagle zaczęło rosnąć do 80-100% na rdzeń, load average wynosił 12-20. Filmy zaczęły się bardzo długo ładować, cięły się, ogólnie nie do życia. Po wyczytaniu, że może to powodować duże obciążenie przez raid software zakupiłem nowy serwer z opcją hardware raid. Teraz serwer od strony procesora jest ok. Zużycie w godzinach szczytu wynosi max 20%. Ale load average rośnie do rozmiarów rzędu 30 w ostatnich 15 minutach. Jak jest około 90 osób online to już ma ciężko. Kiedyś to było nie do przyjęcia. Co jest najdziwniejsze w starej konfiguracji zużycie dysku na iotop wynosiło w szczytach do 150 mb/s. Podczas gdy teraz nie przeskakuje przez więcej niż 80 mb/s. I zaczyna się generować kolejka. Dyski są ustawione w raid 0 i jest ich 3 sztuki dlatego suma prędkości powinna się kumulować. Podczas testów prędkość całej infrastruktury wynosiła 482 mb/s na wyłączonym streamowaniu. Podczas testów prędkość całej infrastruktury wynosiła 7 mb/s na włączonym streamie. Przy czym zużycie na iotop wynosiło max 80 mb/s podczas trwania testów. Czyli tak jakbym posiadał infrastrukturę która osiąga prawie 500 mb/s a podczas działania używa maksymalnie 1/5 mocy. Może to być problem konfiguracji serwera.Debian 7.10 (Wheezy) , nginx Dowiedziałem się że winą może być włączone cache dysków i kontrolera raid. Niestety nie udało się do końca ich wyłączyć dlatego nie mogę sprawdzić do końca. Jeżeli ktoś zna to proszę o komendy na wyłączenie cache dysków i kontrolera raid.Kontroler raid: LSI Logic / Symbios Logic MegaRAID SAS 2208 [Thunderbolt] (rev 05) Każda wskazówka będzie pomocna! Pozdrawiam! Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Styczeń 31, 2017 (edytowany) Normalne - dysk musi czytac bardzo duzo plikow na raz a nie jeden duzy, i z 500MB/s robi sie kilkanascie MB/s. Mozesz sprobowac podbic opcje readahead w page cache i moze sie poprawic. Moze sie okazac ze jedynym rozwiazaniem bedzie zmiana serwera na taki z wieksza iloscia dyskow. Jak wyglada "iostat", "top" i "free"? Edit Pytanie jeszcze jak serwujesz te pliki? Normalnie przez apache/nginx czy przechodzi to jeszcze przez jakis parser PHP czy cos? Edytowano Styczeń 31, 2017 przez Kszysiu (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Styczeń 31, 2017 (edytowany) Rozumiem, że ma problemy z dużą ilością odczytów na raz, ale poprzedni serwer z taką samą konfiguracją , takimi samymi dyskami tylko że z software raid radził sobie o wiele lepiej. A hardware raid jednak powinien wciągać go nosem Zużycie procka było większe, ale osiągał te 150mb/s lekko. Tylko że był tam inny raid ustawiony, nie pamiętam jaki. Teraz jest raid 0 co powinno powodować zwiększenie szybkości a tu takie coś. Na tym serwerze leżą tylko pliki video. Lecą przez nginx bezpośrednio. Nic więcej, domeny i konwertowanie idą po innych serwerach. Edit: Jednak leci przez skrypt php + ngnix. Tylko że wcześniej nie było problemów na innym serwerze. Teraz na tym nowym świeżym coś jest źle skonfigurowane albo spaprane. Pozdrawiam. Edytowano Styczeń 31, 2017 przez bonifacy1980 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
pajter 9 Zgłoś post Napisano Luty 1, 2017 Tylko że był tam inny raid ustawiony, nie pamiętam jaki. Teraz jest raid 0 co powinno powodować zwiększenie szybkości a tu takie coś. może raid1 wcześniej był? To nie jest tak, że przy raidzie0, każdy plik, film odczytuje z tych 3 dysków? Oczywiście zależy od stripe size, ale skoro to duże filmy.. Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Luty 1, 2017 Przeciez widac ze jest iowait... Czyli pewnie dyski... Moze po prostu ilosc materialu sie zwiekszyla i sie w cache nie miesci? Albo wiecej ramu, albo dorzucic ssd i jakis cache odczytow zrobic... Readahead moze pomoc mi sie wydaje... Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Luty 1, 2017 może raid1 wcześniej był? To nie jest tak, że przy raidzie0, każdy plik, film odczytuje z tych 3 dysków? Oczywiście zależy od stripe size, ale skoro to duże filmy.. Możliwe, ale czy by lepiej działał z raid 1 a nie 0 ? Stripe size wynosi 256 KB. Znalazłem tabelkę od LSI raid gdzie są rekomendowane ustawienia i jeżeli się nie mylę przy streamowaniu i ustawieniu raid 0 stripe size powinien wynosić 256 kb w górę a co z cache raid? Powinien być włączony czy nie? Zapis wyłączony a odczyt włączony? A co z raidem dyskowym? Czy już mylę pojęcia? Przeciez widac ze jest iowait... Czyli pewnie dyski... Moze po prostu ilosc materialu sie zwiekszyla i sie w cache nie miesci? Albo wiecej ramu, albo dorzucic ssd i jakis cache odczytow zrobic... Readahead moze pomoc mi sie wydaje... Ilość materiału właśnie w dodatku się zmniejszyła, bo na poprzednim raidzie osiągnąłem 95% zajętości dysku, pomyślałem ,że to w tym tkwi problem i zacząłem czyścić, zeszło do 84%, a po przeskoczeniu na ten serwer jest 54%. Czyli nie wyłączać cache ? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Luty 1, 2017 Na szybko dorzucić ramu Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Luty 1, 2017 Na szybko dorzucić ramu Na OVH to nie takie proste albo nawet niemożliwe :x A nie mogę zmienić przez następne 20 dni na inny serwer bo 2000 PLN pójdzie się gilać. Ale też czy jest potrzebny? Na htop przy bardzo malutkim ruchu zużycie wynosi ~800 MB na 32 GB. :/ Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Luty 1, 2017 1. zamiast screenow to kopiuj zawartość konsoli i wrzucaj w znaczniku code 2. free pokazuje, że cała pamięć jest zużyta na cache 3. daj nam 'iostat 1 10 -x' Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Luty 1, 2017 1. zamiast screenow to kopiuj zawartość konsoli i wrzucaj w znaczniku code 2. free pokazuje, że cała pamięć jest zużyta na cache 3. daj nam 'iostat 1 10 -x' Ok. avg-cpu: %user %nice %system %iowait %steal %idle 0,11 0,00 1,85 10,64 0,00 87,41 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 280,53 35785,76 107,28 7923577195 23752904 avg-cpu: %user %nice %system %iowait %steal %idle 0,20 0,00 1,30 5,20 0,00 93,30 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 258,00 33152,00 0,00 33152 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,50 6,40 0,00 91,97 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 313,00 40064,00 0,00 40064 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,76 8,43 0,00 89,67 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 318,00 40384,00 0,00 40384 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,19 0,00 1,61 7,54 0,00 90,65 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 301,00 39396,00 0,00 39396 0 avg-cpu: %user %nice %system %iowait %steal %idle 1,03 0,00 2,82 4,62 0,00 91,53 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 251,00 32268,00 0,00 32268 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,20 0,00 2,31 5,35 0,00 92,15 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 321,78 41314,85 0,00 41728 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 2,93 8,26 0,00 88,68 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 350,00 45052,00 0,00 45052 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,94 7,63 0,00 90,30 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 290,00 37196,00 0,00 37196 0 avg-cpu: %user %nice %system %iowait %steal %idle 0,06 0,00 1,87 10,66 0,00 87,40 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 316,00 40748,00 0,00 40748 0 Tak może być? Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Luty 1, 2017 (edytowany) To jest iostat -x ? bo u mnie -x ma trochę więcej pozycji Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 20.00 20.00 607.00 154.00 12288.00 39.69 1.40 0.95 28.80 0.03 1.57 98.40 Edytowano Luty 1, 2017 przez Kszysiu (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Luty 1, 2017 To jest iostat -x ? bo u mnie -x ma trochę więcej pozycji Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 20.00 20.00 607.00 154.00 12288.00 39.69 1.40 0.95 28.80 0.03 1.57 98.40 Aj wybacz, pomyłka nastąpiła. Już powinno styknąć. avg-cpu: %user %nice %system %iowait %steal %idle 0,11 0,00 1,85 10,62 0,00 87,42 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,01 0,33 279,60 0,90 35781,52 106,94 255,89 9,49 33,82 33,92 2,46 2,40 67,31 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,75 6,79 0,00 91,33 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 282,00 0,00 36352,00 0,00 257,82 2,73 9,33 9,33 0,00 2,50 70,40 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,49 5,96 0,00 92,42 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 265,00 0,00 33920,00 0,00 256,00 2,62 10,17 10,17 0,00 2,70 71,60 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,42 5,18 0,00 93,26 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 268,00 0,00 34248,00 0,00 255,58 2,34 8,81 8,81 0,00 2,51 67,20 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 1,43 6,03 0,00 92,55 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 255,00 0,00 32768,00 0,00 257,00 2,62 10,31 10,31 0,00 2,85 72,80 avg-cpu: %user %nice %system %iowait %steal %idle 0,13 0,00 1,89 5,27 0,00 92,72 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 273,00 0,00 34884,00 0,00 255,56 2,27 8,31 8,31 0,00 2,61 71,20 avg-cpu: %user %nice %system %iowait %steal %idle 0,26 0,00 1,87 3,81 0,00 94,06 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 221,00 0,00 28544,00 0,00 258,32 1,75 7,96 7,96 0,00 2,37 52,40 avg-cpu: %user %nice %system %iowait %steal %idle 0,07 0,00 1,77 7,55 0,00 90,61 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 2,00 285,00 2,00 36736,00 16,00 256,11 3,16 11,01 11,09 0,00 2,69 77,20 avg-cpu: %user %nice %system %iowait %steal %idle 0,07 0,00 1,57 6,03 0,00 92,33 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 296,00 0,00 37856,00 0,00 255,78 2,52 8,38 8,38 0,00 2,19 64,80 avg-cpu: %user %nice %system %iowait %steal %idle 0,20 0,00 3,01 5,82 0,00 90,97 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0,00 0,00 278,00 0,00 35704,00 0,00 256,86 2,40 8,76 8,76 0,00 2,60 72,40 Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Luty 1, 2017 wg mnie zamęczone dyski...Wyjścia:1. więcej ramu2. cache na ssd3. więcej mniejszych dysków4. może zwiększenie długości kolejki ncq?5. ustawienie cache optymalnie dla odczytów (readahead, można wyłączyć writeback)6. może raid 1 zamiast raid0?7. może warto spróbować przeprowadzić jakąś optymalizację w skrypcie?8. modlitwamoże po prostu dwa mniejsze dedyki? może nie da się tego po prostu zrobić w tych pieniądzach... Udostępnij ten post Link to postu Udostępnij na innych stronach
Insider 43 Zgłoś post Napisano Luty 1, 2017 (edytowany) To ja Ci jeszcze podrzucę lekturę: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/pdf/Performance_Tuning_Guide/Red_Hat_Enterprise_Linux-6-Performance_Tuning_Guide-en-US.pdf Obadaj czy masz I/O scheduler na deadline'a ustawiony (jest ogromna różnica między defaultowym CFQ) i standardowo ustaw noatime, nodiratime żeby niepotrzebnie nie siekać po dyskach. Edit: Zapomniałem jeszcze wspomnieć żebyś poczytał o TCQ/NCQ i ustawieniu odpowiedniej długości /sys/block/sdX/queue/nr_requests tak jak Krzysiu sugerował: http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html Edytowano Luty 1, 2017 przez Insider (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bonifacy1980 0 Zgłoś post Napisano Luty 2, 2017 I/O scheduler ustawiłem na deadline, noatime też.Kolejka nr_requests też przestawiona, niestety bez rezultatów... Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Luty 2, 2017 Takie "tuningi" wile tu nie pomogą, jedynie zmiany w sprzęcie czyli albo dyski albo wspomniany ram. Udostępnij ten post Link to postu Udostępnij na innych stronach
Kszysiu 136 Zgłoś post Napisano Luty 2, 2017 możesz dokupić drugi mały dedyk i po NFS udostępniać pliki - zawsze rozłożysz ruch na więcej dysków, a masz chyba vrack 10g w tym serwerze?Zawsze jakieś kreatywne rozwiązanie, jak opłaciłeś na serwer z góry - z tego co kojarzę w OVH jeszcze chyba możesz w ciągu 14 dni zwrócić serwer i powinni ci chyba kasę oddać.I kupić kilka mniejszych Udostępnij ten post Link to postu Udostępnij na innych stronach