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 было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100406/4378b072/attachment.html>
Подробная информация о списке рассылки nginx-ru