Re: bugreport: при чтении из memcached препендятся случайные символы

TDz TDz tdz at modestus.org
Sun Jun 3 19:17:45 MSD 2007


Лицезреть проблему можно на http://test.avaxhome.ru/
Там почти всё из мемкеши и соответственно кракозябли везде, ситуация не
меняется при использовании apt-get версий nginx/memcached
Данные в мемкеш пишет само приложение (Ruby on Rails), оно же читает их
верно оттуда (без символов), дебаг мемкаши тоже никаких сомволов лишних не
показал
Вот конфиг:

user www-data;
worker_processes  8;

error_log  logs/error.log;
pid        logs/nginx.pid;

events {
    worker_connections  2048;
    use epoll;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    access_log off;

    sendfile        on;
    tcp_nopush     on;

    keepalive_timeout  65;
    tcp_nodelay        on;
    gzip  off;


    ## rails settings
    upstream mongrel
    {
        server 172.16.0.2:8000;
        server 172.16.0.2:8001;
        server 172.16.0.2:8002;
        server 172.16.0.2:8003;
        server 172.16.0.1:8000;
        server 172.16.0.1:8001;
        server 172.16.0.1:8002;
        server 172.16.0.1:8003;
    }

    server
    {
        listen 80;
        server_name test.avaxhome.ru;

        # setting for backend proxying
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_intercept_errors off;


        # static content
        location ~* ^/(javascripts|stylesheets|images)/.*$ {
            root /srv/www/localhost/avaxhome/current/public;
            expires 30d;
        }


        # fully dynamic content
        location ~* ^/(private_messages|news_mgr|search|login|comments).*$ {
            proxy_pass http://mongrel; break;
        }



        # cached dynamic content
        location / {
            default_type text/html;

            # POST requests always go to backend
            if ($request_method = POST ) {
                proxy_pass http://mongrel; break;
            }

            set $memcached_key $uri;
            memcached_pass 172.16.0.2:11211;

            error_page 404 = /backend; #key not found
            error_page 502 = /backend; #mem not responding
        }


        # backend settings
        location = /backend {
            internal;
            proxy_pass http://mongrel;
        }
    }
}


03.06.07, Igor Sysoev <is at rambler-co.ru> написал(а):
>
> On Sun, Jun 03, 2007 at 08:42:48AM +0400, Vladimir V. Perepelitsa wrote:
>
> > А случаем у тебя не Client-Transfer-Encoding: chunked?
>
> Да, похоже на чанки. В конце ответа всегда должен быть виден 0.
> Вопрос в том, как эти ответы попали в memcached.
>
> > On 6/1/07, TDz TDz <tdz at modestus.org> wrote:
> > >Хеллоу хотел сообщить о странном поведении nginx
> > >после перехода на более новую версию nginx при чтении напрямую из
> memcached
> > >перед самой информацией выдаются 2 случайных символа, для каждой
> страницы
> > >они не меняются при рефреше но от страницы к странице отличаются
> > >
> > >nginx version: nginx/0.5.20
> > >built by gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21 ядро 2.6.20.4
> > >оптимизация под Opteron) из нестандартных configure arguments:
> > >--with-cc-opt=-O3
> > >
> > >Ошибок в логе на этот счёт нет. Проверял данные в мемкеше чистые
> > >
> > >Я откачусь на более старую версию - если это не known issue подскажите
> > >какие
> > >параметры нужно снять для анализа проблемы
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070603/653da3b8/attachment.html>


More information about the nginx-ru mailing list