Welcome! Log In Create A New Profile

Advanced

Re: (no subject)

April 15, 2010 01:32AM
Maxim Dounin Wrote:
-------------------------------------------------------
> Переменные $arg_* кешируются,
> а подзапросы имеют общее
> пространство переменных с
> основным запросом (и между
> собой). В
> результате кто первый
> встал - от того и
> закешировалось...

> Это багофича.

> Либо использовать для
> передачи ключа что-нибудь
> некеширующееся,
> например uri:
>
> <!--#include virtual="/cache/12345" -->
> <!--#include virtual="/cache/8888" -->
>
> location ~ ^/cache/([0-9]+)$ {
> set $memcached_key "gen|$1";
> memcached_pass ...;
> }

т.е. переписывать двигло, что бы было нечто вроде /cache/<key[a-z0-9]>/document.php?section=123&docid=9999
дабы если не обнаружилось в кэше, то бэк смог понять что от него требуется, ответить и положить то что нужно в кэш на потом.

>
> Либо накатить какой-то
> такой патч:
>
> --- a/src/http/ngx_http_variables.c
> +++ b/src/http/ngx_http_variables.c
> @@ -1937,6 +1937,7 @@
> ngx_http_variables_init_vars(ngx_conf_t
> if (ngx_strncmp(v.name.data, "arg_", 4)
> == 0) {
> v.get_handler =
> ngx_http_variable_argument;
> v.data = (uintptr_t) &v.name;
> + v.flags = NGX_HTTP_VAR_NOCACHEABLE;
>
> continue;
> }

этот патчик отрубит наглухо кэширование аргументов и полагаю при 1k/sec запросов (с аргументами) производительность может прилично подсесть? какие последствия на производительность данный патчик окажет? ориентировочные?
Subject Author Posted

(no subject)

Maxim Dounin April 13, 2010 07:32PM

Re: (no subject)

john2do April 15, 2010 01:32AM

Re: (no subject)

Maxim Dounin April 15, 2010 07:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 187
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready