Добавление лака и memcached на работающий веб-сайт с одним сервером
Текущая настройка;
У меня есть один выделенный сервер, на котором работает веб-сайт (это форум по стеку ламп)
- ОС: CentOS
- Процессор: двойной 3,2 ГГц четырехъядерный Xeons
- Оперативная память: 40 ГБ (10x4 ГБ DIMM)
- Хранение: Программный RAID1 с 2x 7.2k жестким диском SATAII 500 ГБ
- Форум БД MySQL составляет около 10 ГБ
- Корень веб-сайта составляет около 1,5 ГБ (в основном загруженные пользователем изображения)
Я хочу максимально настроить сервер, чтобы использовать как можно меньше жестких дисков. Я чувствую, что они исцеляют здесь Ахилла. Нет средств для каких-либо изменений в оборудовании, поэтому я изучал возможности повышения производительности программного обеспечения.
Предлагаемые дополнения;
Я немного почитал про Varnish и http://memcached.org/. На форуме PHP есть поддержка memcached (производители предоставляют инструкции по его включению в файлах конфигурации), поэтому я должен иметь возможность установить и использовать его. Я полагаю, что могу связать Apache2 с интерфейсом loopback/127.0.0.1 вместо его общедоступного интерфейса и установить лак, связывающий его с общедоступным интерфейсом, передавая запросы обратно в Apache на 127.0.0.1.
Скорее всего, я начну отдельные вопросы о Varnish и memcached позже об их технической конфигурации, а пока я вхожу после этого в качестве идеи дизайна. Все это звучит как разумная логика для меня, но на самом деле это ненормальный подход? Многие люди с большим успехом используют оба этих пакета для кэширования. Возможно ли, что в этой ситуации они увеличат спрос на жесткие диски? Если нет, то что еще я должен смотреть?
1 ответ
Это зависит от того, какой веб-сайт вы используете и какое программное обеспечение вы используете на этом сервере. Если есть много запросов на статический контент, тогда varnish/nginx действительно может помочь уменьшить использование системных ресурсов (CPU/RAM). Если есть возможность кешировать запросы к БД, то memcached также может помочь (при условии, что вы захотите написать код самостоятельно). Возможно, вы все еще захотите проверить новую версию Apache (2.4), потому что событие MPM теперь использует ту же технику для обработки запросов, что и nginx/varninsh (хотя она все еще медленнее и использует больше ресурсов, чем nginx/varnish, это большое улучшение по сравнению с apache 2.2).