Не получается полностью отключить кэширование

imanenkov nginx-forum at nginx.us
Wed Jun 26 07:47:23 UTC 2013


Доброго времени суток!
Настраиваю на виртуалке веб сервер под тяжелое приложение, для отработки
горизонтального масштабирования. Столкнулся с тем, что nginx после первого
запроса кэширует ответ, после чего начиает отдавать ответ без фактического
обращения к php-fpm.
Конфигурация: nginx + php5-fpm. В nginx сделаны два шаблона - default и
php:

default:
  index index.html index.php;
  
  location /status {
    stub_status on;
  }
  
  location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }
  
  # Закрываем доступ к файлами .htaccess и .htpassword    
  location ~ /\.ht {
    deny all;
  }
  
  location = /favicon.ico {
    log_not_found off;
    access_log off;
  }
  
  location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
  }


php (первоначальная конфигурация):

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
}

настройки хоста в sites-enabled:
server{
  listen 80;
  access_log /var/log/nginx/site.access_log;
  error_log /var/log/nginx/site.error_log;
  
  root /var/www/site;
  
  include /etc/nginx/templates/default;
  include /etc/nginx/templates/php;
}

Тесты запускаю с другой виртуалки через httperf (упрощенный вариант для 1
обращения):
httperf --server site.local --num-conns 1 --verbose >perf.log


При такой конфигурации первый запуск занимает определенное время (т.к.
страница собирается через php машину), при последующих же запусках (на глаз
- в пределах 1-2 минут после первого запуска) тесты проходят за несколько
миллисекунд на обращение, веб сервер контент с такой скоростью не сможет
отдать.

Пробовал отключить кэширование директивами:

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  

  fastcgi_cache off;
  fastcgi_no_cache 1;
  fastcgi_cache_bypass 1;
  expires off;
}

+перезапуск nginx и php-fpm, поведение не меняется.

(кэширование сейчас нужно отключить чтобы поиграть с настройками самого
сервера в плане производительности, на первом этапе).

Просьба помочь.

С уважением.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,240356,240356#msg-240356



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