Отдача видео через nginx. Очень медленно

12 3
CW
На сайте с 07.09.2005
Offline
158
12422

Приветствую.

На сервере стоит сайт, который отдает видео и аудио (просмотр/прослушивание онлайн).

Установлен nginx.

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

Грешил на канал, но залив контент на другой сервер (без nginx) увидел, что загрузка происходит моментально.

Собственно, проблема в nginx.

Перекомпилил его с ключом –with-http_flv_module, ничего не изменилось. Тогда прописал в конфиге

http {
...
server {
...
location ~ \.flv$ {
flv;
}
...
}
...
}

и снова без изменений.

В какую сторону копать, чтобы решить проблему? Nginx+apache нужно оставить, lighthttpd не хотелось бы.

Сквозь холод тумана шагаю в пальтишке Куплю сайтов с Adsense или еще что-нибудь
M
На сайте с 16.09.2009
Offline
278
#1
ClockWorkOrange:
В какую сторону копать, чтобы решить проблему?

В сторону предъявления всего конфига nginx на обозрение.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
CW
На сайте с 07.09.2005
Offline
158
#2
myhand:
В сторону предъявления всего конфига nginx на обозрение.

user              nginx;

worker_processes 4;

error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;

pid /var/run/nginx.pid;



#----------------------------------------------------------------------
# Events Module
#
# http://wiki.codemongers.com/NginxEventsModule
#
#----------------------------------------------------------------------

events {
worker_connections 1024;
}
worker_rlimit_nofile 10240;

#----------------------------------------------------------------------
# HTTP Core Module
#
# http://wiki.codemongers.com/NginxHttpCoreModule
#
#----------------------------------------------------------------------

http {
upload_progress proxied 1m;
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format isp '$bytes_sent $request_length';

access_log /var/log/nginx/access.log main;

sendfile on;
tcp_nopush on;
sendfile_max_chunk 20m;
#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;

#
# The default server
#

# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;

server {
listen 11.11.11.11:80;
server_name etotsait.ru www.etotsait.ru;
rewrite ^(/manager/.*)$ https://$host$1 permanent;
error_page 404 = @fallback;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass http://11.11.11.11:8080;
proxy_redirect http://etotsait.ru:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://11.11.11.11:8080;
proxy_redirect http://etotsait.ru:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 500m;
client_body_buffer_size 50m;
proxy_connect_timeout 90;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
charset off;
track_uploads proxied 30s;
}
location ~ \.flv$ {
flv;
root /var/www/sait/data/www/etotsait.ru;

}
location ^~ /contents/videos/ {
flv;
root /var/www/sait/data/www/etotsait.ru;
internal;
}

location ^~ /contents/videos_sources/ {
root /var/www/sait/data/www/etotsait.ru;
internal;
}

location ^~ /contents/albums/sources/ {
root /var/www/sait/data/www/etotsait.ru;
internal;
}

location ^~ /contents/albums/main/700x525/ {
root /var/www/sait/data/www/etotsait.ru;
internal;
}

location ~* ^.+\.(gif|jpg|mpg|mp3|mpeg|avi)$ {
valid_referers none blocked www.etotsait.ru etotsait.ru ;
if ($invalid_referer) {
return 403;
}
root /var/www/sait/data/www/etotsait.ru;
}


location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /var/www/sait/data/www/etotsait.ru;
access_log /var/www/httpd-logs/etotsait.ru.access.log ;
access_log /var/www/nginx-logs/sait isp;
}
location @fallback {
proxy_pass http://11.11.11.11:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ^~ /admin/include/get_upload_status.php {
report_uploads proxied;
}

}

Папки объявлены внутренними для защиты от хотлинка.

M
На сайте с 01.12.2009
Offline
235
#3

Странно, думаю вы указываете нам на модуль NginxHttpUploadProgressModule.


nginx -v
nginx -V

представите со своего сервера.

Администратор Linux,Freebsd. построения крупных проектов.
CW
На сайте с 07.09.2005
Offline
158
#4

Примерно вот так:

nginx version: nginx/0.8.54

[root@dl1 ~]# nginx -V
nginx version: nginx/0.8.54
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
TLS SNI support disabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --add-module=/usr/src/gnosek-nginx-upstream-fair-2131c73 --add-module=/usr/src/masterzen-nginx-upload-progress-module-3d8e105
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#5

А что с iotop? Попробуйте увеличивать output_buffers, влючать/выключать directio/aio.

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
Joker-jar
На сайте с 26.08.2010
Offline
166
#6

Еще бы глянуть шапку top'а, free -m

CW
На сайте с 07.09.2005
Offline
158
#7
Joker-jar:
Еще бы глянуть шапку top'а, free -m

top - 19:08:00 up 165 days, 15:36,  2 users,  load average: 2.57, 3.48, 4.46

Tasks: 383 total, 4 running, 379 sleeping, 0 stopped, 0 zombie
Cpu(s): 28.6%us, 4.4%sy, 0.1%ni, 65.1%id, 1.3%wa, 0.0%hi, 0.5%si, 0.0%st
Mem: 4046784k total, 3453460k used, 593324k free, 192604k buffers
Swap: 6088504k total, 370564k used, 5717940k free, 2263624k cached

[root@dl1 ~]# free -m

total used free shared buffers cached
Mem: 3951 3483 468 0 188 2204
-/+ buffers/cache: 1090 2861
Swap: 5945 361 5583
[root@dl1 ~]#
Joker-jar
На сайте с 26.08.2010
Offline
166
#8

Ну, судя по top'у, задержек из-за ввода/вывода нет. У проца есть работа, но, вроде, должен справляться :)

Грешил на канал, но залив контент на другой сервер (без nginx) увидел, что загрузка происходит моментально.

а канал у этих серверов идентичный был?

P.S. Неплохой аптайм :)

CW
На сайте с 07.09.2005
Offline
158
#9
Joker-jar:
Ну, судя по top'у, задержек из-за ввода/вывода нет. У проца есть работа, но, вроде, должен справляться :)

а канал у этих серверов идентичный был?

P.S. Неплохой аптайм :)

Канал абсолютно идентичный, конфиг такой-же, только nginx отсутствует.

Там небо и земля по отдаче. Т.е. различия по скорости не в 2-5 раз, а в 100.

P.S. Неплохой аптайм :)

Стараемся :)

Andreyka
На сайте с 19.02.2005
Offline
822
#10

А flv уже с метатегами?

Не стоит плодить сущности без необходимости
12 3

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