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

Для теста производительности движка импортировал базу данных [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_).
Читать дальше →

Как вывести свой контент на главную

Люди, подскажите как можно организовать вывод контента в рамках дефолтного шаблона livestreet? Например я создал у себя поддомен, создал в нем простенький сайт, или интересную страницу. Можно ли сделать так, чтобы вверху основного сайта была ссылка по типу
http://livestreet.ru/page/about/
— «О проекте», но чтобы через include или как то через iframe, выводилось содержание поддомена. Помогите пожалуйста кто разбирается в этом. Или подскажите другие решения как сделать такое. Спасибо.

Кнопочки LiveStreet © Copyright

А может быть стоит разнообразить внешний вид копирайта LiveStreet, как думаете? Просто текстовая ссылка внизу страницы — это скушно. :)

Давайте сделаем пару кнопочег, чтобы был выбор, как ставить копирайты — ссылкой или картинкой.

Если уважаемый Макс (ort) не против. :)

Например:

Что происходит с неиспользуемыми картинками?

Собственно сабж. Проблема рисуется сурьезная. Пользователь закачал картинку — не понравилась, закачал другую — тоже самое, закачал третью — оставил в посте. А как быть с первыми двумя? Ведь такого мусора накопится очень много, если проект на ливстрите будет немаленький. А картинок этих даже не видно нигде и нет возможности удалить. Может быть, имеет смысл все картинки, закаченные при редактировании поста номер N, «прикреплять» как-то к нему. Чтобы можно было их смотреть, вставлять в пост и удалять?

Автоподстановка тегов

Релиз 0.1.2 — в автоподстановке тегов поиск производится с учетом регистра. Имхо, лучше сделать без учета регистра, т.к. иначе, к примеру, тег «Прочее» при наборе пользователем «пр» найден не будет и появится новый тег «прочее».

Highslide JS

Пробовал прикрутить к этому движку скрипт Highslide JS, но закончилось неудачей.
Я так понял что в движке заложены ограничения по набору (HTML) кода, а именно обрезаются некоторые элементы, например («id=...»; class=«...»; onclick=«return hs.expand(this)» ), которые требуются для отработки скрипта Highslide.
Какой именно скрипт это делает, не вкурсе. Все попытки оказались безрезультатными.
К этому я пришёл когда понял, что если кто-нить зугружает большое изображение то, оно залазит на остальные блоки, либо расширяет браузер своими размерами, что весьма не удобно.

Скрипт здесь: _http://highslide.com/

Очень полезная штука…
(кто-бы помог, или подсказал)

Насчет шаблона

1. Рейтинг топика. Каким образом можно сделать так, чтобы значение рейтинга размещалось между стрелками? В topic.tpl я разобрался, и понял, что не так то просто. Подскажите?

2. Аналогичный вопрос для комментариев.

Вообще мне нужно сделать так, чтобы стрелочка вверх было наверху, под ней — значение рейтинга (топика или коммента), и еще ниже — стрелочка вниз.