Моя настройка:
- 4 веб-сервера
- Статический контент-сервер (монтирование NFS)
- 2 дБ серверов
- 2 сервера "сотвори магию"
- Дополнительные 8 машин обозначены как многоцелевые.
Я пишу оболочку для трех механизмов кэширования, чтобы их можно было использовать в несколько нормализованной форме: Файловая система, Memcached и APC. Я пытаюсь придумать примеры для использования (и что на самом деле положить в каждый кеш).
Файловая система
Обрабатывает контент, который мы генерируем, а затем статически обслуживаем. RSS-каналы, старые данные отчетов, пользовательские страницы и т. Д. ... Все это кэшируется на статическом сервере.
Memcached
Данные сеанса PHP, результаты запросов MySQL, как правило, вещи, которые должны быть доступны в наших системах. У нас есть 8 машин, которые могут быть включены в пул серверов.
APC
Понятия не имею. Два сервера «сделай магию» не являются частью какой-либо распределенной системы, поэтому вполне вероятно, что они могут кешировать результаты запросов в APC и работать оттуда. После этого я не могу думать ни о чем.
Кэширование запросов
Учитывая характер нашего использования SQL, кэширование запросов снижает производительность . Я отключил это.
В общем, какие типы данных должны храниться где? Имеет ли смысл эта настройка?
Есть ли какое-либо применение для кэширования данных APC в распределенной системе (я не могу вспомнить ни одного)?
Я что-то упускаю, что могло бы сделать вещи проще или эффективнее?
Редактировать: Я наконец понял, что говорил Паскаль. У меня застряло в голове, что я буду перемещать только часть моей конфигурации / что угодно в APC и все равно загружать оставшуюся часть файла с диска. Любые другие предложения?