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

Rackspace: оптимизация среды LAMP (с использованием memcached)

Недавно я переместил веб-приложение в Rackspace (CentOS). Он неплохо работает с 512 МБ ОЗУ, но я уверен, что мне очень скоро придется обновить его до 1024 МБ.

Плохая новость заключается в том, что служба работает на мобильных устройствах (с 5-минутным интервалом подключения к серверу) ... это означает довольно высокую нагрузку, если многие люди используют службу одновременно.

Да, да ... мы уже работаем над решением push, но до тех пор есть ли у вас какие-либо советы о том, как оптимизировать сервер для обработки больших нагрузок? Я уже реализовал memcached (который нам очень помог), но я все еще с нетерпением жду других решений.

Спасибо за все советы!

Ничего не зная об услуге или типе нагрузки, которую она создает, я могу предложить только очень общий ответ.

  1. Профиль, постарайтесь найти узкие места. Трудно сказать, где на самом деле находятся ваши узкие места. Некоторые варианты
    1. Диск IO
    2. База данных (комбинация процессора и памяти)
    3. Рабочие Apache
    4. TCP-соединения (и другие сетевые примитивы)
    5. Пропускная способность сети
  2. Собирание - серьезная проблема для приложений pull. Убедитесь, что вы не перегружаете пользователей периодической нагрузкой. Если возможно, рандомизируйте, как часто пользователи заходят на сайт.
  3. Масштабируйте частоту, с которой пользователи извлекают данные после загрузки
  4. Если данные, которые извлекают пользователи, не всегда актуальны, убедитесь, что вы реализовали какое-то условное получение, чтобы не тратить много времени на создание никому не нужных данных.