Welcome! Log In Create A New Profile

Advanced

Re: location vs map по скорость

July 26, 2018 04:44PM
On Thu, Jul 26, 2018 at 04:50:45PM +0300, Maxim Dounin wrote:
> On Thu, Jul 26, 2018 at 03:43:39PM +0300, kpoxa wrote:
>
> > Добрый день.
> >
> > А что будет по скорости быстрее работать, при ограничении доступа к
> > определенным расширениям файлов (2-3 десятка расширений):
> >
> > location ~* \.(ext1|ext2|ext3)$ {
> > deny all;
> > }
> > location / {
> > //access granted
> > }
> >
> > или
> >
> > map $uri $error {
> > ~".ext1$" 403;
> > ~".ext2$" 403;
> > ~".ext3$" 403;
> > }
> > location / {
> > if ($error = 403) {
> > return 403;
> > }
> > }
>
> Вот конкретно из этих двух примеров - быстрее будет работать
> совершенно точно первый, потому что во втором случае будет
> выполняться три разных регулярных выражения, а не одно, как в
> первом случае. В общем случае, когда используемые регулярные
> выражения одинаковы и в том и в другом варианте, наверное тоже
> location чуть выиграет за счёт отсутствия лишних операций с
> переменными и инструкций rewrite-модуля.
>
> Впрочем, я сильно сомневаюсь, что разница будет хоть как-то
> измерима по сравнению с собственно обработкой запроса даже в этом
> случае, не говоря уже про общий. Так что выбирать стоит скорее
> исходя из удобства поддержки всего этого хозяйства.

Возможно есть смысл добавить переменную?

# HG changeset patch
# User Ruslan Ermilov <ru@nginx.com>
# Date 1532637590 -10800
# Thu Jul 26 23:39:50 2018 +0300
# Node ID 430d80baa550a753a26b1a06d8213ca0e0030176
# Parent f7e79596baf209151682f2f7d220161c034657ac
Added $exten.

diff --git a/src/http/ngx_http_variables.c b/src/http/ngx_http_variables.c
--- a/src/http/ngx_http_variables.c
+++ b/src/http/ngx_http_variables.c
@@ -226,6 +226,10 @@ static ngx_http_variable_t ngx_http_cor
offsetof(ngx_http_request_t, uri),
NGX_HTTP_VAR_NOCACHEABLE, 0 },

+ { ngx_string("exten"), NULL, ngx_http_variable_request,
+ offsetof(ngx_http_request_t, exten),
+ NGX_HTTP_VAR_NOCACHEABLE, 0 },
+
{ ngx_string("request"), NULL, ngx_http_variable_request_line, 0, 0, 0 },

{ ngx_string("document_root"), NULL,
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

location vs map по скорость

kpoxa July 26, 2018 08:46AM

Re: location vs map по скорость

Maxim Dounin July 26, 2018 09:52AM

Re: location vs map по скорость

ru@nginx.com July 26, 2018 04:44PM

Re: location vs map по скорость

Maxim Dounin July 26, 2018 07:58PM

Re: location vs map по скорость

Михаил Монашёв July 27, 2018 05:42PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 67
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready