CentOS 5 - NGiNX - AIO

Hello Folks,

is it possible to use NGINX AIO on CentOS5, or is the CentOS5 Kernel too
old for this?

Greetings

Juergen

On Wed, Nov 11, 2009 at 12:50:03PM +0100, InterNetX - Juergen
Gotteswinter wrote:

is it possible to use NGINX AIO on CentOS5, or is the CentOS5 Kernel too
old for this?

What does “uname -r” show ?

2.6.18-164.el5 but redhat does a lot of backporting. i tried to compile
it on a centos 5 machine with ./configure --with-file-aio and get this

checking for Linux AIO support … not found

./configure: no supported file AIO was found
Currently file AIO is supported on FreeBSD 4.3+ and Linux 2.6.22+ only

seems like centos 5 & redhat enterprise 5 are too old

but i have the following packages installed, regarding to aio

libaio-devel-0.3.106-3.2
libaio-0.3.106-3.2
libaio-0.3.106-3.2
libaio-devel-0.3.106-3.2

greetings

Juergen

On Wed, Nov 11, 2009 at 01:44:32PM +0100, Juergen G. wrote:

but i have the following packages installed, regarding to aio

libaio-devel-0.3.106-3.2
libaio-0.3.106-3.2
libaio-0.3.106-3.2
libaio-devel-0.3.106-3.2

nginx does not use libaio. nginx requires eventfd() AIO support.
I tested AIO on CentOS 5.2.

Strange, i tried to compile it with ./configure --with-file-aio but the
error message is the same. did you use the original centos kernel or a
self baked one?

if its the original kernel in you case, are you sure that aio was
active?

Greetings

Juergen

On Thu, Nov 12, 2009 at 09:14:36AM +0100, Juergen G. wrote:

Strange, i tried to compile it with ./configure --with-file-aio but the
error message is the same. did you use the original centos kernel or a
self baked one?

if its the original kernel in you case, are you sure that aio was active?

Sorry, I was wrong. I had two VirtualBox installations: Debian and
CentOS 5.2,
both have 2.6.18 kernel. Specially for AIO I had installed openSUSE 11.1
with more modern kernel.

Игорь, у меня CentOS 5.6 ядро 2.6.18-274.3.1.el5PAE
конфигурирую с --with-file-aio
выходит
checking for Linux AIO support … found

а вы писали что поддержка AIO идет только
2,6,22 и выше!?

Posted at Nginx Forum:

On Thu, Oct 13, 2011 at 02:49:48AM -0400, gus wrote:

, CentOS 5.6 2.6.18-274.3.1.el5PAE
–with-file-aio

checking for Linux AIO support … found

 AIO

2,6,22 !?

. RedHat, , backport.
.

http://sysoev.ru

и еще 1 вопрос.
у меня 16Гб оперативки конфиг такой:
user nginx;
worker_processes 8;
worker_rlimit_nofile 819200;
timer_resolution 100ms;
worker_priority -5;

http {
#aio
aio on;
expires max;
#directio 1m;
sendfile off;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
gzip off;
gzip_static on;
gzip_comp_level 5;
gzip_min_length 1024;
keepalive_timeout 65;
output_buffers 2 512k;

раздаю с сервера видео ролики и мелкие
тумбочки. Ролики размером от 5 до 200
мегабайт.

какой параметр directio и output_buffers мне
указать лутше?
Спасибо.

Posted at Nginx Forum:

On Thu, Oct 13, 2011 at 03:04:44AM -0400, gus wrote:

aio on;
keepalive_timeout  65;
output_buffers 2 512k;

. 5 200
.

directio output_buffers
?

aio directio.
aio .

 aio on;
 sendfile        off;
 directio        1m;
 output_buffers  2 1m;

16G - 6000 .

http://sysoev.ru

On Thu, Oct 13, 2011 at 08:07:50AM -0400, gus wrote:

server.com

directio,

, directio AIO
.

?

http://sysoev.ru

[root@server]# nginx -V
nginx: nginx version: nginx/1.1.5
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
nginx: TLS SNI support disabled
nginx: 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_secure_link_module --with-http_random_index_module
–with-http_ssl_module --with-http_realip_module
–with-http_addition_module --with-http_sub_module
–with-http_dav_module --with-http_gzip_static_module
–with-http_stub_status_module --with-http_perl_module --with-file-aio
–add-module=/gus/nginx_mod_h264_streaming-2.2.7

Спасибо

Posted at Nginx Forum:

On Thu, Oct 13, 2011 at 08:17:04AM -0400, gus wrote:

–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_secure_link_module --with-http_random_index_module
–with-http_ssl_module --with-http_realip_module
–with-http_addition_module --with-http_sub_module
–with-http_dav_module --with-http_gzip_static_module
–with-http_stub_status_module --with-http_perl_module --with-file-aio
–add-module=/gus/nginx_mod_h264_streaming-2.2.7

  • –add-module=/gus/nginx_mod_h264_streaming-2.2.7
  • –with-http_mp4_module

http://sysoev.ru

Игорь мы это уже обсуждали в другой
теме. у меня ffmpeg конвертирует с h264.
без nginx_mod_h264_streaming-2.2.7 и с mp4_module Я не могу
мотать ролики. :frowning:

Posted at Nginx Forum:

Спасибо за ответ.
с конфигом что вы дали, видео ролики
вообще не грузятся, плеер сбрасывает. В
ошибках вижу это:

2011/10/13 16:55:12 [crit] 23226#0: *145115 aio read
“/var/www/html/pub2/video/102011/8/85/634/885634152246.mp4” failed (22:
Invalid argument) while sending mp4 to client, client: 217.25.22.82,
server: server.com, request: “GET
/pub2/video/102011/8/85/634/885634152246.mp4 HTTP/1.1”, host:
server.com

Мне приходится выключать directio, и после
ролики подгружаются, но без directio в AIO
толку нет.

Posted at Nginx Forum:

Спасибо за патч, после этого AIO
заработало, но файлы с h264 не
показываются на swf плеере пока не
подкачиваются до конца. Пришлось
вернуться на --add-module=/gus/nginx_mod_h264_streaming-2.2.7
и за комментировать #directio=1m;

Posted at Nginx Forum:

On Fri, Oct 14, 2011 at 07:14:24AM -0400, gus wrote:

, AIO
, h264
swf
.
–add-module=/gus/nginx_mod_h264_streaming-2.2.7
#directio=1m;

nginx_mod_h264_streaming , .

ngx_http_mp4_module , start=XXX,
XXX 0. ,
. JW Player start=0.

, , .

:
http://nginx.org/ru/docs/http/ngx_http_mp4_module.html

http://sysoev.ru

На самом деле проблема с AIO воспроизводится и сегодня, но только при
использовании некоторых плееров. К большому сожалению при использовании
плеера Uppod.

У меня указано это в локейшине:

    location / {
        root   /var/www/html;
        index  index.html index.htm index.php;
            location ~ \.mp4$  {
                mp4;

при компиляции с --with-http_mp4_module видео не
проигрывается пока не подкачается до
конца, а если передвигаю ползунок
плеера, например на 30 сек после старта,
подкачиват видео, но без звука.

приходится снова ставить с
–add-module=/gus/nginx_mod_h264_streaming-2.2.7.

Posted at Nginx Forum: