Почему простой хостинг WordPress быстрее, чем облачные и большие энтерпрайз решения?
27 сентября 2024
После работы над интересным проектом на WordPress на прошлой неделе, я снова убедился, что общий хостинг за $20–30 обычно быстрее, чем “корпоративный” хостинг WordPress, стоимостью тысячи долларов в месяц.
Почему так? Ответ — задержка.
Когда вы размещаете свой сайт на WordPress у типичного провайдера общего хостинга, он обычно оказывается на физическом сервере, который будет хостить ваш PHP, вашу базу данных MySQL и иногда даже Redis или Memcached. Все на одном сервере. Когда PHP нужно взаимодействовать с MySQL или Redis, задержки практически нет, потому что они находятся на одном физическом сервере.
Конечно, на этом сервере много других клиентов, которые борются за долю CPU, памяти, диска и других ресурсов, но если сервер не перепродан до предела (что бывает), то на этом одном сервере все будет в порядке.
Однако в корпоративной настройке клиенты захотят резервирование, высокую доступность и бесконечную масштабируемость для своих высоких требований. Это означает, что архитектура, которая будет поддерживать этот сайт на WordPress, будет сложной. Эта архитектура обычно включает несколько серверов, иногда физических, а часто виртуальных. Эти серверы общаются друг с другом по сети, и каждый раз, когда они взаимодействуют, они платят цену задержки.
Хотите выполнить запрос MySQL? Платите за задержку. Хотите получить ключ из Redis? Вот еще задержка. Хотите записать фото на диск? Платите еще за задержку. Каждый. Раз. Тратите Время.
Хотя эта задержка обычно довольно мала, она усиливается из-за количества круговых запросов, и это может иметь очень значительные задержки.
AWS сообщает о “задержке в миллисекунды” между своими зонами доступности (которые вы должны использовать для высокой доступности), так что в лучшем случае 1 мс и в худшем случае 9 мс. Я видел, как сайты WooCommerce и LMS выполняли сотни запросов к объектному кэшу за один запрос, иногда тысячу во время операции оформления заказа, например. Представьте, что вам нужно платить эту цену за каждый запрос.
Корпоративные хостеры, конечно, оптимизировали это, с предпочтением маршрутизации между зонами доступности, локальными кэшами и т. д., иногда даже в самом PHP с проектами как Relay, которые, безусловно, помогают, но не могут полностью устранить эту проблему из-за природы этой многосерверной развертки.
Если вам не нужно масштабироваться до миллионов просмотров страниц в месяц и более, требуется высокая доступность и резервирование, конфигурация на одном сервере почти всегда будет вашим лучшим выбором. Это не только быстрее, но и дешевле и легче в обслуживании.
Масштабируйтесь вертикально столько, сколько сможете, предпочтительно навсегда.
Многие недооценивают ту мощь, которую можно получить от одного выделенного сервера за пару сотен долларов в месяц.