Грин
Новичок
Кеширование сайта (PHP+Postgres)
Здравствуйте, уважаемые сторожилы.
Есть сайт, с посещаемостью 5000 человек в день, относителльно немного!
Его редактируют, примерно 20 человек.
Движок сделан на системе UnifiedDB, врядли кто-то сталкивался, но суть в том, что еть таблица переменный, есть таблица связей, есть типов, есть категории, все это связывается в один сумбур при выводе, т.е. кому интересно вьюшка новостей выглядит так (урезаю некоторые части повторяющиеся):
соответственно, это не навигация а набор простых сущьностей, в запросе к навигации, а она иерархическая все посложнее.
Так вот, сервачек наш захлебывается. Первое, что я сделал, это эти вьюшки заменил таблицами, т.е. поле изменения инфы идет CREATE TABLE FROM вьюшка. ЭТо тоже оказывается тормозит рабту, т.к. новостей много и вего остального. Плюс 20 пользователей одновремнно редактирую, не забываем.
Собственно вопрос, нужно кешировать сайт, не забывая, что его изменяют в любой момент. Что на каждой странице свои элементы меню.
Про кеширование в посгресте запросов я к сожалению не знаю, т.е. у нас есть сисадмин, который сказал, что что-то в посгресте с этим не то. если у кого есть интересные материалы по поводу кеширования в посгресте запросов, буду очень благодарен.
Здравствуйте, уважаемые сторожилы.
Есть сайт, с посещаемостью 5000 человек в день, относителльно немного!
Его редактируют, примерно 20 человек.
Движок сделан на системе UnifiedDB, врядли кто-то сталкивался, но суть в том, что еть таблица переменный, есть таблица связей, есть типов, есть категории, все это связывается в один сумбур при выводе, т.е. кому интересно вьюшка новостей выглядит так (урезаю некоторые части повторяющиеся):
PHP:
SELECT i.id, i.name, ( SELECT v.bvalue
FROM "values" v
WHERE v.did = 22 AND v.id1type = 1 AND v.id1 = i.id) AS publish, ( SELECT v.ivalue
FROM "values" v
WHERE v.did = 20 AND v.id1type = 1 AND v.id1 = i.id) AS language_id, ( SELECT v.vcvalue
FROM "values" v
WHERE v.did = 31 AND v.id1type = 1 AND v.id1 = i.id) AS news_type_name, ( SELECT v.vcvalue
FROM "values" v
WHERE v.did = 35 AND v.id1type = 1 AND v.id1 = i.id) AS bannerurl
FROM items i, links l
WHERE i.id = l.id1 AND l.id1type = 1 AND l.id2 = 430 AND l.id2type = 2 AND i."type" = 48;
Так вот, сервачек наш захлебывается. Первое, что я сделал, это эти вьюшки заменил таблицами, т.е. поле изменения инфы идет CREATE TABLE FROM вьюшка. ЭТо тоже оказывается тормозит рабту, т.к. новостей много и вего остального. Плюс 20 пользователей одновремнно редактирую, не забываем.
Собственно вопрос, нужно кешировать сайт, не забывая, что его изменяют в любой момент. Что на каждой странице свои элементы меню.
Про кеширование в посгресте запросов я к сожалению не знаю, т.е. у нас есть сисадмин, который сказал, что что-то в посгресте с этим не то. если у кого есть интересные материалы по поводу кеширования в посгресте запросов, буду очень благодарен.
))