nginx, memcached, memcached_hash

Alex Vasilenko aa.vasilenko на gmail.com
Вт Апр 6 18:19:51 MSD 2010


>
> Здравствуйте,

*
*
Имеется следующий nginx:

> $  nginx -V

nginx version: nginx/0.7.65

built by gcc 4.4.3 20100127 (Red Hat 4.4.3-4) (GCC)

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_stub_status_module
> --add-module=/home/avasilenko/nginx-patched/memcached_hash/

*
*
*
log_format aws   '$remote_addr - $remote_user [$time_local]
"$request" ($request_time) - $upstream_status $upstream_addr
$body_bytes_sent "$http_referer" "$http_user_agent"';
*
*
*
Стоит memcached_hash + сопутствующие ему патчи. Проблемы возникают редко (1
на 50000 запросов). Приходит непонятный ответ от memcached:

213.137.108.91 - - [27/Mar/2010:07:23:21 +0800] "GET
> /actions/getlastdownloads.json?timestamp=1269645530 HTTP/1.1" (0.000) - -
> 192.168.1.14:11211 0 "http://www.savevid.com/" "Mozilla/5.0 (Windows; U;
> Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5"

*
*
Получается, что мемкеш отправляет невалидный заголовок и nginx
соответственно возвращает пустой ответ.

Тоже самое актуально, если вместо memcached использовать memcachedb, только
процент ошибочных запросов значительно больше (1 на 400).
Симптомы похожи, как две капли воды:

150.176.249.100 - - [27/Mar/2010:03:53:20 +0800] "GET
> /video/young-money-lil-chuckie-lil-twist-girl-i-got-you-official-music-video.html
> HTTP/1.1" (0.026) - - 192.168.1.14:21201 0 "
> http://www.google.com/search?hl=en&safe=active&q=lil+chuckie+and+lil+twist+girl+i+got+you&aq=0&aqi=g1g-m1&aql=&oq=lil+chuckie+and+lil+twist&gs_rfai="
> "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR
> 1.1.4322; .NET CLR 2.0.50727)"


Конфиг для мемкеша:

location /actions/getlastdownloads.json {

    add_header X-Robots-Tag noindex;

    set $memcached_key  '_lastdownloads.json';

    memcached_pass main.savevid.com:11211;

 }


Для memcachedb похожий.


Кто-нибудь с таким встречался/боролся? Хотелось бы понять, в каком
направлении копать, нгинкса или мемкешеда.

*Спасибо*
Alexandr Vasilenko
Web Developer
www.savevid.com
ICQ:284752117/JID:mente на jabber.kiev.ua <JID%3Amente на jabber.kiev.ua>
Skype:menterr
mob: +38097-611-45-99
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100406/4378b072/attachment.html>


Подробная информация о списке рассылки nginx-ru