Назад | Перейти на главную страницу

Рекомендации по спецификациям сервера

В настоящее время у меня есть Linode 512 VPS с Ubuntu 10.04 LTS (32 бит).

Я недавно открыл свой веб-сайт, который привлекает множество пользователей из социальных сетей, и в последнее время я достиг некоторых ограничений процессора.

У меня около 20 тысяч пользователей в день, сегодня мне пришлось перезапускать процессы apache и MySQL несколько раз, так как загрузка процессора была слишком высокой, я с трудом мог вводить команду.

Я хочу изменить его размер, но не уверен, что я могу что-то сделать, чтобы решить эту проблему.

С точки зрения программирования мне нечего менять, в настоящее время я выполняю минимальное количество запросов к SQL-серверу (на localhost) и сделал все, что мог, чтобы улучшить код.

Я использую GZip, и важно сказать, что моя основная цель сайта - обслуживать изображения.

Я использую GZip, и важно сказать, что моя основная цель сайта - обслуживать изображения.

Вот тут может быть твоя проблема. Gzip наверняка поможет с тяжелым текстом, так как он легко сжимается, однако изображения уже сжаты, и попытки сжимать их дальше с помощью gzip - бесполезное занятие. Отключите gzip и посмотрите, не снизит ли это загрузку вашего процессора.

Если это не так, то на следующем шаге, вероятно, вам следует разделить вашу базу данных на второй линод 512. Я бы сделал это перед изменением размера вашего текущего линода. При развертывании второй машины убедитесь, что она находится в том же центре обработки данных, но на другом хосте. Таким образом, Apache и MySQL не будут конкурировать за дисковый ввод-вывод. Также имейте в виду, что вы должны использовать внутреннюю частную сеть Linode для связи между двумя серверами.

сегодня мне пришлось перезапустить процессы apache и mysql несколько раз, так как загрузка процессора была слишком высокой

Значит, вы неправильно настроили свой сервер. Важно убедиться, что у вас достаточно мощности для управления сервером. А на веб-сервере плохая производительность растет как снежный ком - так что в итоге сотни людей не могут использовать вашу систему. Использование оборудования для решения проблемы - временное решение, но вам нужно узнать намного больше о том, как настраивать и управлять своим сервером - гораздо больше, чем можно было бы дать здесь ответ.

Тем не менее, да, возможно, есть несколько быстрых побед, но вы предоставили нет полезную информацию о том, как настроен ваш сервер, и о структуре нагрузки. Сделав случайное предположение, я предлагаю вам взглянуть на кеширование контента, особенно на прокси. Сходите и прочтите некоторые онлайн-материалы Марка Ноттингема.

Вы, очевидно, не знаете, какие части вашей системы вызывают ваши проблемы - вам нужно начать регистрировать% D n ваших журналов apache и анализировать данные, чтобы определить, где проблемы с производительностью; Подсказка: высокая загрузка ЦП на сервере, предоставляющем только статический контент, очень необычна - вы можете подумать, откуда исходит нагрузка - но я в этом сомневаюсь.

Лучший способ улучшить ваш код - это ... чтобы ваш код не выполнялся.

попробуйте использовать веб-сервер с низким потреблением памяти, lighttpd или nginx.

попробуйте, чтобы ваше приложение генерировало статический контент для обслуживания и регенерировал код после обновления, таким образом ваш веб-сервер будет делать все возможное, обслуживать статический контент, проверять ваши заголовки в вашем html и изображениях.

Я согласен с symcbean. Получение некоторых данных о реальной причине проблемы было бы хорошим первым шагом, а кэширование может очень сильно растянуть легковесные серверы.

Взгляните на Munin (и включите плагины MySQL, которые не включены по умолчанию) для получения статистики.

Помимо установки заголовков кеша (здесь есть статья Марка Ноттингема: http://www.web-caching.com/mnot_tutorial/), Varnish может находиться перед Apache и кэшировать статический контент на диске или в памяти, снижая нагрузку на Apache.

Другие будут утверждать, что Lighttpd или Nginx будут хорошей альтернативой Apache для статического контента.

Если вам нужны построчные настройки для Munin или Varnish в Ubuntu 10, дайте мне знать, и я опубликую их.