Skocz do zawartości


 

Zdjęcie

Serwis hosting video - streaming, problem, RAID

Serwis hosting video - streaming, problem, RAID raid serwis hosting video straming vod problem

  • Proszę się zalogować aby odpowiedzieć
16 odpowiedzi na ten temat

Serwis hosting video - streaming, problem, RAID

#1 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 31 styczeń 2017 - 17:21

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!

 

Załączone pliki


  • 0

#2 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 31 styczeń 2017 - 18:30

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?

Edytowany przez Kszysiu, 31 styczeń 2017 - 18:35.

  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation


#3 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 31 styczeń 2017 - 19:52

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.

Załączone pliki


Edytowany przez bonifacy1980, 31 styczeń 2017 - 19:59.

  • 0

#4 pajter

pajter

    Regularny użytkownik

  • Użytkownicy
  • 88 postów

Napisany 01 luty 2017 - 09:53

 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..


  • 0

#5 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 01 luty 2017 - 10:11

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...
  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation


#6 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 01 luty 2017 - 11:17

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 ?

Załączone pliki


  • 0

#7 patrys

patrys

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 3191 postów
  • Skąd:Słupsk / Szczecin
  • Firma:NetFS
  • Imię:Patryk
  • Nazwisko:Gorczyca

Napisany 01 luty 2017 - 11:18

Na szybko dorzucić ramu ;)


  • 0
| Administracja serwerami - Potrzebujesz pomocy? Napisz! |

#8 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 01 luty 2017 - 11:31

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.

:/

Załączone pliki


  • 0

#9 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 01 luty 2017 - 11:37

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'
  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation


#10 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 01 luty 2017 - 11:40

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ć?


  • 0

#11 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 01 luty 2017 - 11:48

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

Edytowany przez Kszysiu, 01 luty 2017 - 11:48.

  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation


#12 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 01 luty 2017 - 11:52

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


  • 0

#13 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 01 luty 2017 - 12:04

wg mnie zamęczone dyski...

Wyjścia:
1. więcej ramu
2. cache na ssd
3. więcej mniejszych dysków
4. 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. modlitwa

może po prostu dwa mniejsze dedyki? może nie da się tego po prostu zrobić w tych pieniądzach...


  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation


#14 Insider

Insider

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 130 postów

Napisany 01 luty 2017 - 13:18

To ja Ci jeszcze podrzucę lekturę: https://access.redha...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://yoshinorimats...e-size-and.html


Edytowany przez Insider, 01 luty 2017 - 13:50.

  • 0

Szukasz kompana do realizacji ciekawego pomysłu w sieci? Wal do mnie jak w dym! :-)

Nudzę się niemiłosiernie.


#15 bonifacy1980

bonifacy1980

    Nowy użytkownik

  • Nowy
  • 7 postów

Napisany 02 luty 2017 - 10:16

I/O scheduler ustawiłem na deadline, noatime też.

Kolejka nr_requests też przestawiona, niestety bez rezultatów...


  • 0

#16 patrys

patrys

    Weteran WHT

  • Moderatorzy
  • PipPipPipPipPipPipPipPip
  • 3191 postów
  • Skąd:Słupsk / Szczecin
  • Firma:NetFS
  • Imię:Patryk
  • Nazwisko:Gorczyca

Napisany 02 luty 2017 - 16:12

Takie "tuningi" wile tu nie pomogą, jedynie zmiany w sprzęcie czyli albo dyski albo wspomniany ram.


  • 0
| Administracja serwerami - Potrzebujesz pomocy? Napisz! |

#17 Kszysiu

Kszysiu

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1421 postów
  • Skąd:Milanówek
  • Firma:Tiktalik.com
  • Imię:Krzysztof
  • Nazwisko:Wojciechowski

Napisany 02 luty 2017 - 16:23

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


  • 0

A bus station is where a bus stops.
A train station is where a train stops.
On my desk I have a workstation







Także otagowane jednym lub więcej z tych słów kluczowych: raid, serwis, hosting, video, straming, vod, problem

0 użytkowników czyta ten temat

0 użytkowników, 0 gości, 0 anonimowych użytkowników