Ускорьте отображение веб-сайта Nginx - время до первого байта
У меня есть сервер Nginx с несколькими сайтами, и некоторым сайтам на сервере требуется больше времени для передачи первого байта, чем другим. Насколько мне известно, Nginx просматривает каждый файл conf в папке с включенными сайтами, пока не найдет правильный файл, поэтому все сайты, у которых файл conf находится ближе к началу этого списка, имеют значительно более быстрое время до первого байта, чем те, в нижней части списка. Есть ли способ заставить их всех загружаться так же быстро?
Я знаю, что есть небольшой шанс, но я подумал, что стоит все же спросить.
1 ответ
Нет, это не то, как nginx обрабатывает вещи.
http://nginx.org/en/docs/hash.html
Для быстрой обработки статических наборов данных, таких как имена серверов, значения директив карты, типы MIME, имена строк заголовка запроса, nginx использует хеш-таблицы. Во время запуска и каждой переконфигурации nginx выбирает минимально возможные размеры хеш-таблиц таким образом, чтобы размер корзины, в которой хранятся ключи с одинаковыми значениями хеш-функции, не превышал настроенный параметр (размер хеш-памяти). Размер стола выражается в ведрах. Корректировка продолжается до тех пор, пока размер таблицы не превысит параметр max has size. Большинство хэшей имеют соответствующие директивы, которые позволяют изменять эти параметры, например, для хэша имен серверов они являются server_names_hash_max_size и server_names_hash_bucket_size.
Это определенно не проходит через эти файлы для каждого просмотра страницы.