+10.98
Рейтинг
17.63
Сила

Дмитрий

Sitemap-генаратор

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

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

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

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

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

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

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

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

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

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