Proxy streaming issues

Hi,

I have nginx set up on 4 servers for a video streaming project but I
have
drop out issues.

Server A is a simple proxy server that passes through the requests to
the
backend box server B which holds the content.

Server C is another proxy that passes through requests to Server D
which
houses the html, sql, php.

So while a user is on a page they video is passed to them from Server B
through Server A. The problem I have is that there have been reports of
the
stream being cut after say 20 minutes or so (this time varies) and
therefore
stopping the viewing of the video. I have experimented with different
settings but am having real difficulty finding anything that solves this
problem. Here is my proxy conf file:

user nginx nginx;

worker_processes 2;

pid logs/nginx.pid;

error_log logs/error.log warn;

events { worker_connections 1024; }

http {

include       conf/mime.types;

default_type  application/octet-stream;

sendfile       on;

tcp_nopush     on;

tcp_nodelay    on;

limit_zone    one  $binary_remote_addr  10m;



    server {

    limit_conn   one  2;

    listen       1.2.3.4:80;

    server_name  proxy.website.com;



    location / {

        proxy_pass         http://1.2.3.4:8008/;

        proxy_redirect     off;

        proxy_buffering off;



        proxy_set_header   Host             $host;

        proxy_set_header   X-Real-IP        $remote_addr;

        proxy_set_header   X-Forwarded-For 

$proxy_add_x_forwarded_for;

client_max_body_size 10m;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_temp_file_write_size 64k;

    }

}

I would be most grateful any pointers anyone could give me. There is
100mbit
constant passing through this proxy btw.

Kind regards.

Just to add I’ve turned on the logs for warn instead of crit and now I’m
seeing lots of errors that say:

(110: Connection timed out) while connecting to upstream, client

…and

2589 recv() failed (104: Connection reset by peer) while reading
response
header from upstream, client

Any ideas?

From: [email protected] [mailto:[email protected]] On Behalf Of
Anton
Sent: 22 October 2007 21:28
To: [email protected]
Subject: Proxy streaming issues

Hi,

I have nginx set up on 4 servers for a video streaming project but I
have
drop out issues.

Server A is a simple proxy server that passes through the requests to
the
backend box server B which holds the content.

Server C is another proxy that passes through requests to Server D
which
houses the html, sql, php.

So while a user is on a page they video is passed to them from Server B
through Server A. The problem I have is that there have been reports of
the
stream being cut after say 20 minutes or so (this time varies) and
therefore
stopping the viewing of the video. I have experimented with different
settings but am having real difficulty finding anything that solves this
problem. Here is my proxy conf file:

user nginx nginx;

worker_processes 2;

pid logs/nginx.pid;

error_log logs/error.log warn;

events { worker_connections 1024; }

http {

include       conf/mime.types;

default_type  application/octet-stream;

sendfile       on;

tcp_nopush     on;

tcp_nodelay    on;

limit_zone    one  $binary_remote_addr  10m;



    server {

    limit_conn   one  2;

    listen       1.2.3.4:80;

    server_name  proxy.website.com;



    location / {

        proxy_pass         http://1.2.3.4:8008/;

        proxy_redirect     off;

        proxy_buffering off;



        proxy_set_header   Host             $host;

        proxy_set_header   X-Real-IP        $remote_addr;

        proxy_set_header   X-Forwarded-For 

$proxy_add_x_forwarded_for;

client_max_body_size 10m;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_temp_file_write_size 64k;

    }

}

I would be most grateful any pointers anyone could give me. There is
100mbit
constant passing through this proxy btw.

Kind regards.

I am having similiar issue, while caching the media files on the proxy
server using proxy_store. The cached files stored incompletely or
corrupted.

How many worker processes are you using ? It may be that multiple
requests for the same file are causing the partially transmitted file
to be overwritten as new requests for the same file try to store in
the same location.

Cheers

Dave