Как должна быть сконструирована идеальная хорошая CMS с точки зрения производительности? Очень просто – в компе тормозит то, что сильно привязано к физическому миру, то есть жёсткий диск. Поэтому хорошая CMS должна работать полностью из памяти. При старте сервера до запуска апача, все нужные для старта файлы копируются на tmpfs, в конфигах апача указано что он должен работать с tmpfs, логи пишутся туда же, возможно и сам конфиг стоит копировать в память. Стоит ли пробовать какие-то части пхп запихнуть в память – неясно, возможно что да. После этого вся работа происходит из памяти, а в фоне то что надо перегребается на диск в один или в мало потоков. Если надо обращаться к диску, то результат обращения кешируется в памяти и далее используется результат из кеша. В результате хилый сервер может тянуть гораздо более сильную нагрузку, плюс происходит логическое разделение фронт-энда и бэк-энда, что полезно если нужно будет масштабировать систему.

До кучи – как выбрать правильную файловую систему – tmpfs или ramfs. Принципиальаня разница только одна – tmpfs при исчерпании выданной ей памяти уходит в своп, то есть CMS должна следить за местом на диске, а ramfs динамически добавляет память по мере надобности, а когда память кончается – начинает глючить. То есть отследить можно только с того момента, когда пустые файлы начинают отдаваться. Если система заведомо маленькая, то ramfs подойдёт, иначе нужна tmpfs. При рестарте или выключении питания все данные пропадают и там и там.

Для тех кто нифига не понял:

PS: Вордстат от Яндекса раскачивает лодку:

wordstat-sex

Похожие посты