Я менял настройки nginx,исключал upstream backend, а в основном server проекта ставил не proxy_pass backend; , а fastcgi_pass и все работает нормально и с постом стрингов и с загрузкой файлов(не огромных размеров)
это девелоп ветка пока что, без нагрузок даже тестовых
У меня два симптома большой стринг и или файл больше 200 кб
Таймауты несут следствие,а не причину,можно поставить любой таймаут это не поможет,так как сам запрос подвисает,отдает только часть,бэкэнд ждет окончания,но так и не дожидается, пока не сработает таймаут.
Это не имеет значение, так как при более простой схеме, которую я описывал выше, точно такой же запрос выполняеться без задержек и очень быстро,
в базу попадает контент только он не полный, такое ощущение, что прокси отдает не всё и не может дождаться ответа от апстрима, пока не сработает таймаут,
хотя я заметил закономерность, что обновления не попадают пока не сработает прокси таймаут
Изображения до 1 мегабайта можно считать большими файлами
nginx version: nginx/1.2.0
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_stub_status_module --with-pcre
Это тестовые значения, я пробовал и такие, если настроить не через проксирование, а через fastcgi напрямую то выполняеться все очень быстро за секунду-две---------- Добавлено 28.04.2012 в 14:57 ----------пробовал более детальные настройки прокси
proxy_redirect off;
proxy_buffering off;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 200;
proxy_read_timeout 200;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
не как не повлияло
Ошибка в логе бэкэнда
[error] 73414#0: *83 upstream timed out (60: Operation timed out) while sending request to upstream, client: 46.4.99.252, server: site.com, request: "POST /main/pages/submit/3828 HTTP/1.0", upstream: "fastcgi://unix:/tmp/php5-fpm.sock:"