| Nginx-ru mailing list archive (nginx-ru@sysoev.ru) [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Не получается полностью отключить кэширование
 
To: nginx-ru@xxxxxxxxxSubject: Не получается полностью отключить кэшированиеFrom: "imanenkov" <nginx-forum@xxxxxxxx>Date: Wed, 26 Jun 2013 03:47:23 -0400Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=helium.jlkhosting.com; s=x;  h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=15p7Qf5i2IOLaf49FrAn8d3vqsA2mEfoGUlpNFF3s7A=;  b=jFK36LO/3WtQPajQAnzUrVbyf/5+cu1NdPjupVag230FpztBxUjZxv+d1wtExAuYRNNymE8HLpxhWFcbxftn6k8jef4wsA8bkvqDBtGkTCKOwtWDj5WU2RGM0X9iXxuuhXzmyiN1NwEaY4DaxT8Jh97I3AusdxVfm8Yl2v/f+zA=; 
 Доброго времени суток!
Настраиваю на виртуалке веб сервер под тяжелое приложение, для отработки
горизонтального масштабирования. Столкнулся с тем, что 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
 |