Одновременный upload + streaming

Andron_buton
На сайте с 19.07.2007
Offline
270
#11

twinlv, при том, что на 100мбит, даже двух самых паршивых сата2 дисков достаточно, при должной настройке будет быстрее упираться в канал, чем в ио.

iHector
На сайте с 29.03.2013
Offline
93
#12

Короче явно в том конфиге где-то проблема. Обрывалась загрузка видео (failed). Так что ваш конфиг не сработал... Пока вернул все назад, оставил только directio 1m;

Андрей
На сайте с 30.09.2009
Offline
482
#13

Полностью соглашусь со всем что говорил Andron_buton - дельные советы.

twinlv, для этой задачи и при канале в 100 Мбит/сек нагрузки вообще не должно быть. Во всяком случае такой чтобы она отображалась на работе.

iHector, оперативка почти вся используется или таки вся? В своп не полез? Для стриминга маленький своп = колоссальной нагрузке.

И второй вопрос - что скушало столько оперативки? Ее должно использоваться существенно меньше. Или может на этом сервере мускул еще кушает солидно?

EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
iHector
На сайте с 29.03.2013
Offline
93
#14

Судя по всему кушает память php-fpm. Mysql нет, это сервер чисто для отдачи видео. Настроен nginx + php-fpm, файл отдается через php скрипт. Своп по нулям. Оперативки всегда свободно 70-100мб.

free -m
total used free shared buffers cached
Mem: 7827 7690 136 0 0 5
-/+ buffers/cache: 7684 142
Swap: 0 0 0

Может стоит только через nginx отдавать минуя php скрипт? Но тогда много возможностей уйдет.

Z
На сайте с 06.09.2012
Offline
129
#15
iHector:
Может стоит только через nginx отдавать минуя php скрипт? Но тогда многно возможностей уйдет.

Вы и так минуя отдаете. Попробуйте output_buffers 1 256k; (самое важное), aio удалите, directio поменяйте на 8m, если все еще будет прерываться - то можно output_buffers уменьшить еще немного, если нет, то увеличить.

Черный список врунов и обманщиков: ua-hosting.company, riaas.ru, takewyn.ru, yahoster/cadedic, Andreylab
Andron_buton
На сайте с 19.07.2007
Offline
270
#16
iHector:
Короче явно в том конфиге где-то проблема. Обрывалась загрузка видео (failed). Так что ваш конфиг не сработал... Пока вернул все назад, оставил только directio 1m;

Тогда и aio on; можете оставлять.

А вообще странно, какая фс используется, какой размер кластера, какой размер страйпа у рейда, рейд кстати софтварный или хардварный?

iHector
На сайте с 29.03.2013
Offline
93
#17

sendfile off; должно быть?

zzzit говорит удалять aio, Andron_buton наоборот)

Вот такая сейчас картина. Отдается 1 мб на юзера.

Конфиг пока такой

location ~ \.(flv|mp4)$ {
# searchengines example
#sendfile off;
#aio on;
#output_buffers 1 1m;
directio 1m;
# searchengines

expires max;
limit_rate_after 3m;

flv;
internal;
#access_log /var/log/nginx/flvstream-access.log main;
}
Z
На сайте с 06.09.2012
Offline
129
#18
Andron_buton:
Тогда и aio on; можете оставлять.

Зачем? Чтобы диски мучать больше? Пусть лучше блокируется на чтении, чтобы никто другой в этот момент не лез к дискам.

---------- Post added 24-01-2014 at 17:43 ----------

sendfile off всегда, иначе с диска нельзя предсказуемо читать

iHector
На сайте с 29.03.2013
Offline
93
#19
zzzit:
sendfile off всегда, иначе с диска нельзя предсказуемо читать

Все советуют разное, вот обратите внимание на статью __

sendfile

Как обычно работает Web сервер, при передаче файла:

открыется исходный файл (на диске)
открывается файл назначения (сетевое соединение)
Читается блок данных, копируется в буфер и передается по назначению, пока не достигнут конец файла
Закрываются оба файла

Это означает, что происходит дополнительное копирование, которое вынужден делать Web сервер. В этом случае сервер делает системные вызовы read и write. Системный вызов sendfile служит как раз для того, чтобы избежать излишнего копирования и обеспечить прямую передачу файла. Включайте эту опцию (всегда):

sendfile on;

highload.com.ua/index.php/2009/10/31/nginx-dlya-otdaci-failov/

Z
На сайте с 06.09.2012
Offline
129
#20
iHector:
Все советуют разное, вот обратите внимание на статью __
highload.com.ua/index.php/2009/10/31/nginx-dlya-otdaci-failov/

Ну избежали копирования память-память и что? Копирование мегабайта памяти в память это меньше миллисекунды, а перемещение головки диска уже аж 10 мс. Куда важнее избежать лишнего перемещения головки, чем лишнего копирования память-память, это ж понятно? А статья теоретиков, да еще и плохих.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий