Sitemap-генаратор

Написал на коленке небольшой Sitemap-генератор для Livestreet и готов им поделиться с общественностью, однако есть вопросы…
Update: доступен сам генератор

Читать дальше →

Желтый вариант

Ну вот, сделал на скорую руку. Если вдруг чего понравится, можно заимствовать, так, возможно, из разных вариантов и получится дефолтный диз ливстрит )

Не судите строго, особенно прямой эфир, его сделать по-нормальному+быстро не получилось (

Картинко

Картинко зеркало

RSS

Как обстоят дела с RSS? Методом копания кода нашёл код отвечающий за RSS и по адресу: сайт/rss как я понял выдаётся сама рсска. Но срабатывает через раз, часто начинает выдавать пустой RSS, непонятно как транслировать каменты…

Вобщем когда планируется сделать полноценную поддержку RSS?

Тормоз при запросах к БД

Для теста производительности движка импортировал базу данных [4092 юзера, 4113 блогов (включая личные), 4845 топиков, 27231 комментириев] с работающего сайта из другого движка.
По данным du -hc /каталог/базы данных, размер базы, включая индексы, составляет 53 МБайта в бинарном виде.

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

Факт, что узким местом являются запросы к базе подтверждается и блоком статистики внизу страницы и менеджером процессов top (ОС Debian Linux 4.0).

Использование memcached вместо файлового хранилища ускоряет загрузку, но уже после выполнения запросов и при повторных обращениях, когда роль БД минимальна.

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

Есть у уважаемого сообщества какие-либо идеи по поводу узкого места в работе с БД и/или предложения по нейтрализации сего узного места?

Отдельно хочу поинтересоваться у автора о причинах такого неоптимального хранения текста топиков?

Описание ядра LiveStreet

Данная документация прежде всего для людей знакомых с PHP(объектной моделью) и желающих модифицировать движок.

Общее представление


Движок LiveStreet построен на базе собственного фреймворка с использованием модульности и модели MVC.
Фреймворк представляет из себя каркас из абстрактных классов(абстракции module, action, block, mapper, entity), ядро(engine), роутер(route) и набор системных модулей(модули с префиксом sys_).
Читать дальше →