The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Потолок при отдече mp4 стрима"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [ Отслеживать ]

"Потолок при отдече mp4 стрима"  +/
Сообщение от kozakd (ok) on 19-Янв-10, 17:58 
Есть сервер
CentOS release 5.4
ОЗУ 6ГБ
nginx-0.8.32 + nginx_mod_h264_streaming-2.2.7
Софтовый рейд

mdadm -D /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Tue Dec 29 14:37:01 2009
     Raid Level : raid5
     Array Size : 11721117696 (11178.13 GiB 12002.42 GB)
  Used Dev Size : 976759808 (931.51 GiB 1000.20 GB)
   Raid Devices : 13
  Total Devices : 14
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Tue Jan 19 16:53:13 2010
          State : clean
Active Devices : 13
Working Devices : 14
Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 256K

           UUID : 5bf1f5bf:c2887ccb:7e0b4288:7af24ae2
         Events : 0.6

Вечереом, при пиковой нагрузке, и траффике порядка 400-600 Mbps система не тянет.
И самое печальное, большой "CPU context switches" временами доходит до 80К - 120К в сек.

Вот... и это только начало
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
47   4  36  11   0   2|  61M 3960k|   0     0 |3522B 2360B|9551    14k
88   5   0   4   0   2|  30M  824k| 762k   27M|   0     0 |  13k   44k
86   4   1   7   0   2|  39M 3560k| 713k   25M|   0     0 |  12k   41k
87   4   0   7   0   2|  32M  808k| 653k   23M|   0     0 |  12k   37k
86   4   0   8   0   2|  35M    0 | 616k   21M|   0     0 |  11k   36k
84   4   3   5   0   2|  26M  684k| 676k   24M|   0     0 |  12k   39k
85   4   3   6   0   2|  28M    0 | 698k   25M|   0     0 |  12k   42k

Прошу подсказать, как побороть context switching?

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Потолок при отдече mp4 стрима"  +/
Сообщение от ACCA (ok) on 20-Янв-10, 02:49 
[...]
>Вечереом, при пиковой нагрузке, и траффике порядка 400-600 Mbps система не тянет.
>
>И самое печальное, большой "CPU context switches" временами доходит до 80К -
>120К в сек.

[...]
>Прошу подсказать, как побороть context switching?

Не надо его бороть. Каждый context switch = прерывание (в том числе по таймеру), либо вызов I/O из user space. При 13 дисках в soft RAID и гигабитном Ethernet почти на пределе - вполне нормально, а для процессора старше PII - не особая нагрузка. Народ пишет, что PIII/1GHz легко тащит сотни тысяч.

Ищи другое узкое место.

Для начала можешь попробовать iperf с размером пакета = MTU (который у тебя 1500?). Получилось 750Mbps? Можешь дальше не искать. Jumbo Frames не помогут - раутеры по дороге к юзерам наверняка несогласные.

С помощью iptraf собери статистику по размеру пакетов. Что сможешь выжать из сети через iperf с размером пакета = среднему из iptraf?

dstat вроде бы показывает, что есть активный swap in/out. 3.5KB это за какое время? За секунду?

Что показывает iostat в колонке %util?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Потолок при отдече mp4 стрима"  +/
Сообщение от kozakd (ok) on 20-Янв-10, 10:16 
У меня не фря, и там нет iperf и iptraf :(
На этом рахделе XFS, и сначало было 2ГБ памяти, добил до 6ГБ - немного полегчало.

iostat в колонке %util по этим дискам показывает 60-80 %% :(
Это при отдаче контента юзерам, а если качать один файл, то разгоняется почти до 600Mbps и при этом утилизация дисков в рамках 15%.
Отдача идёт через nginx, и вчера было порядка 700 Active connections из них 99% "Writing"

CPU 2 шт. Intel(R) Xeon(R) CPU E5420  @ 2.50GHz

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Потолок при отдече mp4 стрима"  +/
Сообщение от ACCA (ok) on 20-Янв-10, 18:17 
>У меня не фря, и там нет iperf и iptraf :(

В .rpm и .deb они тоже есть, в соляре собери из исходников либо возьми с blastwave.org. Мастдай выкинь и поставь операционную систему.


>На этом рахделе XFS, и сначало было 2ГБ памяти, добил до 6ГБ
>- немного полегчало.
>
>iostat в колонке %util по этим дискам показывает 60-80 %% :(

Итого - сетка забита под 80%, а то и больше, диск забит под 80%. Чем же ты недоволен? ;)

Посмотри в логах, что тянут - если сможешь добить памяти, чтобы верхние 5% активного контента влезло в кэш - снизишь нагрузку на диск в два раза.

>Это при отдаче контента юзерам, а если качать один файл, то разгоняется
>почти до 600Mbps и при этом утилизация дисков в рамках 15%.

Эффективно работает кэш = не приходится гонять головы туда-сюда. Разнообразные параллельные чтения штука более тяжёлая.


>Отдача идёт через nginx, и вчера было порядка 700 Active connections из
>них 99% "Writing"

Ну что же ты хотел? На каждого по мегабиту - вот и кончился твой гигабитный канал.


По фотографиям не меряйся - они маленькие, трафик на порядки меньше.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Потолок при отдече mp4 стрима"  +/
Сообщение от kozakd (ok) on 20-Янв-10, 10:24 
Да.. вот ещё. :)
На этом же серваке есть ещё один массив.
На нём хранятся фотки, и отдаются другим nginx'ом и без проблем.
Но всего на сервере получается 30.000К файлов :)
Вот с чего я спрашиваю про память. :)

     Raid Level : raid5
     Array Size : 11721071616 (11178.09 GiB 12002.38 GB)
  Used Dev Size : 1953511936 (1863.01 GiB 2000.40 GB)
   Raid Devices : 7
  Total Devices : 7
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Wed Jan 20 09:05:33 2010
          State : active
Active Devices : 7
Working Devices : 7
Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру