Задержки с отдачей контента

Kostya Alexandrov koticka at mail.ru
Tue Apr 8 09:18:19 MSD 2008


Доброго времени суток.

Помогите пожалста понять что не так.
Есть сервлет, который отдает потоковые данные (поток котировок). Респонз 
вида
HTTP/1.0 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/plain

далее бинарный поток, который никогда не завершается.
Совершенно одинаковые конфигурации для http и https.
В случае ssl, данные приходят клиенту сразу 1 в 1, то что пришло с 
бекенда, сразу отправляется
клиентам, буквально с первого байта, если без ssl то накапливается
какой то буфер, в течении 5-10 минут, вылетает весь, затем nginx 
начинает отправлять сразу, даже один
байт пришедший с бекенда сразу отправляется клиентам.
Почему данные вначале буфферизируются не пойму.
nginx version: nginx/0.5.35

далее конфиг

user nobody nobody;

worker_processes  2;

pid /var/run/nginx.pid;

events {
    worker_connections   2000;
    multi_accept on;
}

error_log  /var/web/nginx.error_log  warn;

http {

    include       conf/mime.types;
    default_type  application/octet-stream;


    log_format download  '$remote_addr - [$time_local] '
                         '"$request" $status $bytes_sent '
                         '"$http_referer" "$http_user_agent" '
                         '"$http_range" "$sent_http_content_range"';

    tcp_nopush       on;
    tcp_nodelay      on;
    server {
        listen ххх.ххх.ххх.ххх:443 default backlog=1024;

        ssl on;
        ssl_certificate /usr/local/nginx/conf/ssl.cert/server0.cert;
        ssl_certificate_key 
/usr/local/nginx/conf/ssl.key/server0.key.unsecure;

        ssl_session_cache    shared:TRADING:40m;
        ssl_session_timeout  20m;

        server_name server0.forexpeer.com server0.forexserver.net;
        root /var/web/server0/htdocs;

        access_log /var/web/server0/logs/access_log.ssl;
        error_log /var/web/server0/logs/nginx.error_log  warn;

        keepalive_timeout 60;
        proxy_intercept_errors on;
        proxy_buffering off;

        gzip_comp_level 9;
        gzip_types *;

        proxy_set_header Proxy-Client-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header WL-Proxy-Client-IP $remote_addr;
        sendfile on;
        sendfile_max_chunk 256K;
        client_header_buffer_size 4k;

        location = /trading/getMessages2 {
                sendfile_max_chunk 4k;
                proxy_read_timeout 6000;
                proxy_pass http://weblogic-host:7009;
        }
       ....другие location....
   }

   server {
        listen ххх.ххх.ххх.ххх:80 default backlog=1024;

        server_name server0.forexpeer.com server0.forexserver.net;
        root /var/web/server0/htdocs;

        access_log /var/web/server0/logs/access_log.nossl;

        error_log /var/web/server0/logs/nginx.error_log  warn;

        keepalive_timeout 60;
        proxy_intercept_errors on;
        proxy_buffering off;

        gzip_comp_level 9;
        gzip_types *;

        proxy_set_header Proxy-Client-IP $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header WL-Proxy-Client-IP $remote_addr;

        sendfile on;
        sendfile_max_chunk 256k;
        client_header_buffer_size 4k;

        location = /trading/getMessages2 {
                proxy_buffering off;
                keepalive_timeout 0 0;
                proxy_pass http://weblogic-host:7009;
        }
       ....другие location....

  }
}





More information about the nginx-ru mailing list