Используя perfmon, категории MSSQL:Latches и MSSQL:Locks имеют счетчики, которые, кажется, так близки, как мы можем добраться.
Это ясно теперь, когда дб не имеет "способности к параллелизму", который может измеряться. (Не тот же способ, которым сервер имеет емкость хранения, которая может измеряться).
Приложения, которые хорошо работали вчера, могут начать блокироваться внезапно. Из-за повышения уровня блокировок, новые планы запросов и т.д...
Have you tried Cache-Control flags in your nginx configuration ?
Sample configuration:
upstream yourappserver{
server 0.0.0.0:6677;
}
proxy_cache_path /tmp/cache levels=1:2 keys_zone=my-test-cache:8m max_size=5000m inactive=300m;
server {
listen 80;
server_name your.domain.tld;
root /path/to/the/document/root/;
access_log /var/log/nginx/access.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_cache my-test-cache;
proxy_cache_valid 200 404 1m;
proxy_cache_valid 302 20m;
proxy_cache_use_stale error timeout invalid_header updating;
proxy_redirect off;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://yourappserver;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
I think you are looking for this particular configuration snippet
proxy_cache_valid 302 20m;
Я тоже использую «трюк с переменной среды», чтобы сделать это в Apache, и искал аналогичный метод в nginx. Прошло несколько лет с тех пор, как этот вопрос был впервые задан, поэтому с тех пор все могло измениться, но я нашел способ установить время жизни по умолчанию для перенаправлений в nginx 1.14.
В блоке server
вы можете эффективно установить новые значения по умолчанию Cache-Control
и Expires
для всех 301 перенаправлений, используя переменную карты для установки значение директивы expires
основано на коде состояния возврата ($status
). При желании это новое значение по умолчанию можно переопределить в более конкретных блоках location
. В качестве дополнительного бонуса вам не нужно повторно указывать переменную среды при каждом перенаправлении, как в Apache.
Вот иллюстрирующий это пример, когда все HTTP-запросы обновляются до HTTPS с использованием «постоянных» переадресаций 301, которые длятся всего час. Исключение сделано для URI с префиксом /override
, где 301 действительно остается постоянным.
map $status $expires {
default off;
301 1h;
}
server {
listen 80 default_server;
server_name _;
expires $expires;
location /override {
return 301 https://$host/somewhere;
expires off;
}
location / {
return 301 https://$host$request_uri;
}
}
Это дает ожидаемые значения заголовка:
$ curl -I http://localhost
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.0 (Ubuntu)
Date: Thu, 11 Jun 2020 01:01:43 GMT
Content-Type: text/html
Content-Length: 194
Connection: keep-alive
Location: https://localhost/
Expires: Thu, 11 Jun 2020 02:01:43 GMT
Cache-Control: max-age=3600
$ curl -I http://localhost/override
HTTP/1.1 301 Moved Permanently
Server: nginx/1.14.0 (Ubuntu)
Date: Thu, 11 Jun 2020 01:01:49 GMT
Content-Type: text/html
Content-Length: 194
Connection: keep-alive
Location: https://localhost/somewhere