Re: [fr] Изменить немного алгоритм try_files

Андрей Василишин a.vasilishin на kpi.ua
Ср Дек 1 12:03:07 MSK 2010


01.12.2010 9:01, Михаил Монашёв пишет:
> Здравствуйте, Андрей.
>
>>> 1. Завести 8 try_files с разной последовательностью перебора:
>>> 12345678, 23456781, ... 81234567.
>
> АВ>  Тогда можно будеи и без try_files обойтись.
>
> Если  Вы  заранее знаете, где лежит нужный файл, то сразу оттуда его и
> запрашивайте.  Сэкономите  кучу  IO  и  Ваш  диски  начнут значительно
> быстрее работать, особенно при большой иерархии директорий, от которой
> тоже, лучше избавляться со временем...

Ну, вообще-то не знаю, я писал в первом сообщении, что раскидываю файлы 
с помощью aufs, но даже если знаю, хотелось бы обойтись без всяких баз.

>>> 2. Ввести случайный параметр, который будет переключать между ними.
>>> Это может быть установленные запрашивающей стороной кука, субдомен,
>>> порт, или случайная переменная из встроенного перла, или переменная
>>> из  гео-модуля (поделить весь диапазон адресов на 8 примерно равных
>>> частей,  например  сгенерив  65536  подсетей  /16  и  присвоить  им
>>> значения от 1 до 8).
>
> АВ>  Можно  конечно  такой  велосипед  городить,  но  мне  кажется  мой
> АВ>  алгоритм  вместится  в  10 строк. К сожалению не владею С, поэтому
> АВ>  сам не могу его реализовать.
>
> А  поддерживать  модуль,  не  владея  С, довольно сложно. Через Год он
> вдруг  почему-то  перестанет  работать  с  новой версией nginx и опять
> придётся кого-то искать. Я уже по этим граблям ходил.
>
> Я  же  предлагаю  Вам  написать  сразу  работающую  конструкцию,  а не
> минировать свой проект.

Ну, отдельный модуль не обязательно писать, можно включить директиву 
try_random_files в ngx_http_core_module.


-- 
WBR, Andrey Vasilishin CDIG1-UANIC, CDIG1-RIPE



Подробная информация о списке рассылки nginx-ru