Скорость CMS

lucas

Guest
Скорость CMS

Не секрет, что многие участники этого форума пытались/пытаются/будут пытаться написать собственную CMS на PHP.
В связи с этим интересен вопрос о времени на формирование одной (средней, стандартной, обыкновенной, n-килобайтной) страницы, затрачиваемом CMS.
Также хотелось бы узнать оценку, до каких пределов реально сократить затраты по времени при формировании пресловутой страницы?
Отдельная просьба: при приведении каких-либо данных из реальной жизни, пожалуйста, указывайте конфигурацию оборудования сервера.
 

clevel

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

lucas

Guest
Автор оригинала: clevel
есть аппаратная и программная сторона вопроса! Я сейчас паботаю с модулем четырехуровнего логического кеширования страниц. В идеале, для некоторых типов страниц возможно создания статичной страницы.
[scip]
Я думаю, что следует рассматривать серьезные системы: с кэшированием, модулями, сервисами и равернутым back-office, а не системы :cool: типа
PHP:
include "{$QUERY_STRING}.php" ;
 

clevel

Новичок
Я думаю, что следует рассматривать серьезные системы: с кэшированием, модулями, сервисами и равернутым back-office, а не системы типа

include "{$QUERY_STRING}.php" ;
зря ты так... моя цмс уже 3,4 мега занимает. куча модулей... возможносте, фич... начальной или не серьезной ее трубно модно назвать... и я сам задумался над скоростью формирования контента.. и привел свои мысли. котррые сейачс успешно воплощаю. Если ты не понял. о чем это я, или твоя гордыня не позволяет спуститься до моего уровня, - это втои проблемы...
 

lucas

Guest
2clevel
Сорри, в моем посте от 28.08.03 21:58 не было ничего личного. Если это было воспринято как наезд - я этого не хотел. Правда.
Твоя разработка дико интересна - 3,4 метра это только PHP или DB size included?
 

clevel

Новичок
2clevel
Сорри, в моем посте от 28.08.03 21:58 не было ничего личного. Если это было воспринято как наезд - я этого не хотел. Правда.
Твоя разработка дико интересна - 3,4 метра это только PHP или DB size included?
3 метра - в основном пхп, ну jscript 150-200 кило будет.. картинки, Бд, естетстевнно, не включаются...
а чем именно поделиться? опыт вещь эфемерная, вот так взять и отломить кусочек не полчается :) Спаршивайте конкретно, постараюсь ответить...
 

clevel

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

HEm

Сетевой бобер
все равно непонятно :(
т.е. например в портале есть псевдоокно в меню - новости, я понимаю что можно новости не собирать одним-двумя запросами туда а при создании каждой новости скажем изменять файлик news.inc который инклюдится - а все остальное....
 

clevel

Новичок
у меня несколько иначе...
1.у меня юзер визуально может в цмс создавать, переименовывать, перемещать, удалять столбцы.
2.для вывода инфы - новостей надо сделать, в худшем случае, пять-шесть запросов в БД - это контент, и два запроса - для получения шаблонов данных новостей.
3.При кешировании мы проверяем, какие новости изменяются (например, у нас выводятся пять последних, а меняется 6-я новость по счету, зачем нам менять кеш?), и если надо, меняем кеш.
4.кеш новостей, статей, и др. табличных (у меня) данных заноситься в одну таблицу БД. При выводе страницы сайта я имею десериализованный массив объектов-> знаю id данных кешей и выводжу все анонсы новостей. статьей одним запросом. Нагрузка на сервер резко падает, так как показ анонсов раз в 11-15 чаще, чем изменение новостей. Это в худшем случае, когда новости меняются часто... Про страничку с новостями фирмы я молчу...
 

clevel

Новичок
насчет include(*.php)
я не уверен, что это разумно!
у меня программа сама будет генерить пхп файл. в котором часть инфы будет статична (например, в массиве лежать), а часть доставаться из БД... никаких доп. инклюжов делать пока не собираюсь...
по сути дела, я написал цмс с сильно расширенными возможностями и по сути дела третий уровень кеширования (создание пхп файлов) - есть замена работы программиста, который свои модули подстраивает под конкретного заказчика.
 

lucas

Guest
2clevel

Очень интересно, во сколько раз больше времени занимает новое формирование докумета, по сравнению с поднятием закешированного?

2HEm

[scip]
a при создании каждой новости скажем изменять файлик news.inc который инклюдится - а все остальное....
ИМХО неправильный подход в смысле логики: news.inc - уже не чисто ДАННЫЕ, я так понимаю, туда включена некоторая информация о ПРЕДСТАВЛЕНИИ, чего быть не должно...
При этом: получается, что мы работаем с news.inc на этапе ДОБАВЛЕНИЯ документа, а не на этапе его ВЫВОДА, что несколько связывает руки...
 

clevel

Новичок
Очень интересно, во сколько раз больше времени занимает новое формирование докумета, по сравнению с поднятием закешированного?
1. не мерял, так как одновременно сложно эти вещи юзать. Но точно могу сказать, что выигрыш должен быть не менее чем в два раза, так как количество запросов к БД уменьшается на 5-7 запросов в среднем, выдается готовый блок, добавлять логики при помощи пхп операций уже не надо...
2.такое кеширование позволяет логику формирования блоков оставлять только в модуле кеширования. При выводе мы берем только готовые данные.
 

HEm

Сетевой бобер
насчет вывода ты имеешь в виду стиль? ничто не мешает использовать разные стили css или (если например один стиль с графикой а другой - без) генерять не один а несколько файликов (news.style1.inc , news.style2.inc и т.д.
минус в том что генерится слишком много файлов но много - понятие относительное
 

clevel

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