• Как правильно настроить файловый сервер nginx?

    1. Посмотреть сколько Ядер CPU. Если что увеличить количество worker_processes и worker_connections
    Как оказалось при большом количестве скачиваний файлов производительность увеличивается если увеличить worker_processes. Auto не особо помогает. Но без фанатизма. Для 32 ядер ставлю 96
    worker_processes.
    2.
    multi_accept on;
    accept_mutex off;
    use epoll;
    3.
    directio в зависимости от размеров файлов нужно подбирать.
    4.
    thread_pool больше 128 не вижу смысла моем случае
    5. Комбо. Если софт рейд ничего не делать. Если железный рейд с ссд или hdd, или просто ссд или просто hdd сменить io scheduler с bfq на noop
    С bfq даже железный рейд 0 на 50 Тб с кучей дисков умирает. Io поднимается выше 3 сек.

    Это все для Ubuntu 18.04.
    Поколдовав с этими настройками можно полностью использовать серв на 10 Gbit/s с кешем файлов на 28 Тб. И io при записи не больше 10 мс и 4000 активных подключений
    Ответ написан
    Комментировать
  • Как закешировать много мелких файлов на диск?

    @ZIM555 Автор вопроса
    Спасибо за информацию. Сейчас работает varnish с кешем в ram. Но даже с 20gb кеша на 5 серверах даёт выигрыш в трафике около 20 Мбит/с с каждого сервера в лучшем случае. Nginx на файлах выдавал до 120 Мбит/с.

    Вопрос как организовать это чтобы часть Кеша была в памяти а часть на диске?
    Ответ написан
    Комментировать