On Mon, May 26, 2008 at 04:30:54PM +0400, Монашёв Михаил wrote:
Можете объяснить подробнее о том, как это - с помощью дерева?
Как написано на
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location?
До этого все статические location'ы были в отсортированном массиве
и соответствие проверялось последовательно. Теперь - дерево, примерно так:
/
|
/bbb/
< | >
/aaa/ | /ccc/
/bbb/images/
А сколько локейшнов должно быть, чтобы новый алгоритм работал быстрее?
Чтобы было заметно на глаз - сложно сказать.
У меня на сотне локейшнов старый вариант съедал где-то 1% по google
perfomance tools. Но там часто запрашиваемый локейшны были где-то в
районе 60-ти проверок. Теперь они проверяются после 6-8 циклов. После
отпуска буду смотреть в gpt.
И ещё нужно учесть, что среди этой сотни нет regex.