Помогает ли CDN снизить нагрузку на сервер? Мой текущий сервер перегружен, и я размышляю между использованием CDN и просто обновлением сервера. У меня сложилось впечатление, что CDN возьмет на себя большинство обращений к изображениям, оставив моему серверу немного передышки, не уверенный, так ли это работает. Мой вопрос: если моя цель состоит в том, чтобы поддерживать нагрузку на сервер на низком уровне, каков наилучший подход? Примечание: я уже использую статический кеш.
1 ответ
Традиционно CDN делает подъем для вас на статических ресурсах.
Допустим, вы разрешаете загрузку изображений для вашего сайта. После того как вы загрузите файл, вам нужно изменить его размер на миниатюры, а затем отправить полученные данные обратно в браузер, когда это необходимо.
CDN может позаботиться об этом для вас. Но CDN обычно используется для того, чтобы сделать загрузку статических ресурсов гораздо более эффективной, так как сервер, ближайший к пользователю, автоматически используется через DNS AnyCast (это дорого и неудобно для развертывания самостоятельно - вы также можете использовать систему кого-то другого для номинальная плата). После первоначальной постобработки загрузки изображения не нужно "дорого" брать статический ресурс и отправлять его клиенту.
Но что вам действительно нужно сделать, это выяснить, что блокирует ваш сервер, и решить эту проблему. Вы не просто бросаете решения (и деньги) в стену, пока один из них не застрянет.
Вам нужно профилировать свой сервер и его рабочий процесс, а также определить, что на самом деле является узким местом. Это может быть дерьмовый рабочий поток, или, может быть, вам просто нужно добавить заголовок кэша к ресурсоемкому ресурсу, который не нужно генерировать постоянно (просто пример, я понимаю, вы сказали, что уже используете уровень кэширования). Возможно, вам просто не хватает оперативной памяти, или ваша база данных работает на дисках со скоростью 5400 об / мин.