На моем веб-сайте, VPS-сервере с 2 ГБ ОЗУ, я размещаю репозиторий, пользователи которого могут загрузить небольшой пакет (около 2 МБ) на свои машины.
Проблема в том, что со временем это репо стало очень популярным - десятки тысяч пользователей, если не сотни тысяч, и теперь каждый раз, когда я обновляю пакет, сервер сильно перегружается, пока кеш не начнет работать. Но это может занять часы (в прошлый раз - пару дней), пока нагрузка снова не спадет.
Я попытался увеличить объем оперативной памяти до 4 ГБ, но заметных улучшений не было. покупать больше просто слишком дорого.
Могу ли я как-нибудь справиться с этими обновлениями, не забиваясь?
Редактировать: Я должен был упомянуть об этом с самого начала, я уже пробовал CloudFlare, однако использование CF лишает меня контроля над временем кэширования zip-файлов, поэтому мои обновления никогда не успевали к моим клиентам.
Я в основном ищу способ поставить соединения в очередь без перегрузки сервера (если это вообще возможно) ...
Два довольно простых в реализации решения:
2 МБ статического содержимого должны оставаться в кеше файловой системы, если это требуется часто.
Используйте сеть доставки контента для масштабирования до множества глобальных узлов и уменьшения нагрузки на веб-сервер.
Вы можете настроить httpd MPM и, возможно, выбрать другой. worker - это вариант с резьбой. Попробуйте установить начальный предел потока немного выше, чем пиковая частота запросов, наблюдаемая ранее.