Рассмотрим сценарий, как показано ниже:
Небольшой веб-блог, созданный на основе стека LAMP и развернутый на общем хостинге. Внезапно он становится популярным за один день и получает миллион просмотров в день. Поскольку разработчик не учел высокий трафик, это вызвало простои сервера и сбои.
Что было бы быстрым решением для такого сценария?
Кстати, я знаю, что на облачных серверах я могу добавить больше ОЗУ или ЦП, чтобы избежать этого, как в Amazon EC2.
Во-первых, не попадайте в эту ситуацию.
Провайдеры виртуального хостинга печально известны тем, что испытывают трудности с обработкой больших всплесков трафика для одного клиента, и, поскольку вы не запускаете машину, вы мало что можете сделать для оптимизации.
Наверное, лучшее, что ты можешь сделать на виртуальном хостинге кэширование на уровне приложения. Например, если вы используете WordPress, установите W3 Total Cache в режиме кэширования диска.
Если вы реально ожидаете больших объемов трафика на постоянной основе, вам лучше как можно скорее перейти на серверы, которые вы контролируете. Точка, с которой я бы начал планировать выход из виртуального хостинга, - это около 5000 уникальных посетителей в день. К тому времени, как вы дойдете до 10 000, вас уже не будет. (Это всего лишь практическое правило; ваш провайдер может быть лучше или хуже.)
По запросу "Как быстро я могу внести это изменение?"
Вы ответили на свой вопрос. Веб-серверы обычно превышают пределы ОЗУ перед ЦП. Как только вы начнете исчерпывать ОЗУ, операционная система начнет подкачку, вызывая нисходящую спираль дискового сбоя с одним результатом. Если ваш хост работает под Linux, есть вероятность, что ядро начнет убивать процессы, чтобы сохранить себя. Apache может быть одним из первых.
Итак, следите за использованием ОЗУ и вежливо разговаривайте со своим облачным провайдером ДО того, как столкнетесь с проблемами.
Для CDN взгляните на Акамай, Amazon CloudFront, или облако. Также убедитесь, что вы не собираетесь платить непомерную плату за трафик.