Искать  
 
   
1 из 2
1
Ускорить работу ЕЕ
Отправлено: 03 Ноябрь 2010 12:26 P.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Есть ли функция у ее, чтобы шаблоны по умолчанию читались из файлов а не из базы.
Просто если включить режим отладки и открыть страницу внизу мы видим примерно 400 с небольшим запросов.
Время выполнения которых от 4 до 12 сек. Как уменьшить это количество запросов, ведь известно что неструктурированные данные с диска читаются быстрее чем из базы.

Профиль
 
 
Отправлено: 03 Ноябрь 2010 01:54 P.M.   [ Игнорировать ]   [ # 1 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Что же за шаблон с 400 запросами. Тут нужно копать не в сторону сохранения шаблона в бд или файл. Если даже шаблон и будет сохранен в файл, то к бд все равно идет обращение.
У тебя либо код неправильно построен, либо очень много все стоит

Профиль
 
 
Отправлено: 03 Ноябрь 2010 02:51 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Даже вывод простейшего шаблона с 1 записью сопровождается 270 запросами к БД.

Это служебные запросы. Без моих вложенных шаблонов и внутренних запросов к базе.

Профиль
 
 
Отправлено: 03 Ноябрь 2010 03:38 P.M.   [ Игнорировать ]   [ # 3 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Быть такого не может. Может зацикливается где-то что-то. Покажи шаблон.
Чисто установленная система где-то запросов 10 выдает + говоришь вывод weblog максимум 9 без расширений доплниетлеьных и без отключенных функций

Профиль
 
 
Отправлено: 03 Ноябрь 2010 11:24 P.M.   [ Игнорировать ]   [ # 4 ]
Member
RankRankRank
Всего сообщений:  172
Зарегистрирован  2010-07-13

270 на простом шаблоне с 1 записью????  Покажите мне этот ПРОСТЕЙШИЙ шаблон!

 Подпись 

booooring…

Профиль
 
 
Отправлено: 04 Ноябрь 2010 10:44 A.M.   [ Игнорировать ]   [ # 5 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
SELECT es.* FROM exp_sites AS es WHERE es.site_name 'ru'
2
SELECT DISTINCT ee
.* FROM exp_extensions ee WHERE enabled 'y' ORDER BY hookpriority ASC, class
3
SELECT member_id
admin_sesslast_activity FROM exp_sessions WHERE session_id '006e6cda85468364afcbb8b536d69a1f' AND ip_address '' AND user_agent 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.' AND site_id '2'
4
SELECT m
.weblog_idm.tmpl_group_idm.usernamem.screen_namem.member_idm.emailm.urlm.locationm.join_datem.last_visitm.last_activitym.total_entriesm.total_commentsm.total_forum_postsm.total_forum_topicsm.last_forum_post_datem.languagem.timezonem.daylight_savingsm.time_formatm.profile_themem.forum_themem.private_messagesm.accept_messagesm.last_view_bulletinsm.last_bulletin_datem.display_signaturesm.display_avatarsm.last_email_datem.notify_by_defaultm.ignore_listg.* FROM exp_members AS mexp_member_groups AS g WHERE g.site_id '2' AND unique_id 'beca17a7eac36555a8598a17071c5290' AND password '' AND m.group_id g.group_id
5
UPDATE 
`exp_sessionsSET `session_id` = '006e6cda85468364afcbb8b536d69a1f', `member_id` = '1', `admin_sess` = '1', `ip_address` = '', `user_agent` = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.', `last_activity` = '1288852889' WHERE session_id ='006e6cda85468364afcbb8b536d69a1f'
6
SELECT 
FROM exp_online_users WHERE site_id '2' AND date 1288851989 AND weblog_id '0' ORDER BY name
7
UPDATE 
`exp_online_usersSET `weblog_id` = '0', `member_id` = '1', `name` = 'Vall', `ip_address` = '', `date` = '1288852889', `anon` = 'y', `site_id` = '2' WHERE site_id '2' AND ip_address '' AND member_id '1'
8
SELECT 
FROM exp_stats WHERE site_id '2' AND weblog_id '0'
9
UPDATE exp_stats SET last_visitor_date 
'1288852889' WHERE site_id '2' AND weblog_id '0'
10
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name 'index' AND exp_template_groups.is_site_default 'y'
11
UPDATE exp_templates SET hits 
'80723' WHERE template_id '16'
12
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_masterpage' AND exp_template_groups.group_name 'elements'
13
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_head' AND exp_template_groups.group_name 'elements'
14
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_headmenu' AND exp_template_groups.group_name 'elements'
15
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_tablemenu' AND exp_template_groups.group_name 'elements'
16
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_info' AND exp_template_groups.group_name 'elements' 
Профиль
 
 
Отправлено: 04 Ноябрь 2010 10:46 A.M.   [ Игнорировать ]   [ # 6 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
241
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.bd' AND exp_template_groups.group_name 'elements'
242
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_footer' AND exp_template_groups.group_name 'elements'
243
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.saperfoot' AND exp_template_groups.group_name 'elements'
244
SELECT variable_name
variable_data FROM exp_global_variables WHERE site_id '2' AND user_blog_id '0'
245
SELECT action_id
, class, method FROM exp_actions WHERE (class= 'Trackback_CP' AND method 'receive_trackback') OR (class= 'Search' AND method 'do_search'
Профиль
 
 
Отправлено: 04 Ноябрь 2010 10:47 A.M.   [ Игнорировать ]   [ # 7 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Это не простейший, но в моей системе самый легкий )

примерно с 12 по 40 идут запросы на вложенные шаблоны.
с 40 по 120 запросы на галерею изображений для каждого вложенного шаблона

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


всего 3-4 уровня вложенности шаблонов
1 уровень - мастерпэйдж-шапка и мастерпэйдж-футер
2 уровень - блоки (например: лого, новости, топ объекты, рекламный слайдер и т.д.)
3 уровень - вывод объектов внутри блоков
4 уровень - галерея изображений внутри объектов

Профиль
 
 
Отправлено: 04 Ноябрь 2010 11:04 A.M.   [ Игнорировать ]   [ # 8 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
387
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_premium' AND exp_template_groups.group_name 'elements'
388
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_lastact' AND exp_template_groups.group_name 'elements'
389
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.1_footer' AND exp_template_groups.group_name 'elements'
390
SELECT exp_templates
.template_nameexp_templates.template_idexp_templates.template_dataexp_templates.template_typeexp_templates.edit_dateexp_templates.save_template_fileexp_templates.cacheexp_templates.refreshexp_templates.no_auth_bounceexp_templates.enable_http_authexp_templates.allow_phpexp_templates.php_parse_locationexp_templates.hitsexp_template_groups.group_name FROM exp_template_groupsexp_templates WHERE exp_template_groups.group_id exp_templates.group_id AND exp_template_groups.site_id '2' AND exp_templates.template_name '.saperfoot' AND exp_template_groups.group_name 'elements'
391
SELECT variable_name
variable_data FROM exp_global_variables WHERE site_id '2' AND user_blog_id '0'
392
SELECT action_id
, class, method FROM exp_actions WHERE (class= 'Trackback_CP' AND method 'receive_trackback') OR (class= 'Search' AND method 'do_search'

Это вывод weblog список всех объектов в базе по 1 категории с выводом галереи изображений к каждому объекту

Профиль
 
 
Отправлено: 04 Ноябрь 2010 11:24 A.M.   [ Игнорировать ]   [ # 9 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

И все же есть вопрос на мой первый вопрос?
Как заставить ЕЕ читать текстовые данные с ЖД а не из базы.

Причем ЕЕ игнорирует даже правила кэширования.
Тестировал так, запустил страничку - например получилось 273 запроса.
Включил кэширование (в 3 местах: глобальное кэширование, кэширование шаблонов, плюс добавил внутрь веблога параметр кэширования)
Перезапускаю страницу, закрываю ее. Открываю снова и вижу примерно 265 запросов. Т.е. Почти ничего незакэшировалась.
Правда картинки закэшировались, что ускорило загрузку примерно на 1с. Т.е. вместо 8с теперь сайт открывается за 7с.
Как еще можно ускорить?

Я знаю про отключение ненужных данных при выводе weblog’а.
Еще я могу уменьшить собственные запросы, заменив * на список необходимых мне полей.
Что даст мне, по моим подсчетам, примерно еще 1-2 секунды.

Какие еще существуют способы.
Все-таки я думаю, если бы была возможность заставить ЕЕ читать шаблоны из файлов а не с БД, это сократило бы загрузку примерно еще на 2-3 секунды.


И конечно я еще не упомянул страницу поиска. Где выполняется мой запрос на поиск во всей базе объектов.
Скорость выполнения(имеется ввиду вместе с выводом результата) этого запроса ужасает, хотя запрос не из самых трудных:

SELECT FROM exp_weblog_data INNER JOIN exp_category_posts ON exp_category_posts.entry_id exp_weblog_data.entry_id where cat_id=46 

Скорость выполнения данного запроса примерно 2секунды, но вывод данных происходит примерно через 20-40 секунд, после окончания выполнения запроса.

как отследить на что ЕЕ тратит это время?

Я подключался к базе объектов напрямую, не через ЕЕ, выполнял на простом ПХП запрос и выводил на страничку точно таким же способом как и ЕЕ.
Время выполнения и вывода 1,12 секунды.

Как узнать где ЕЕ сжирает 40 секунд?

Профиль
 
 
Отправлено: 04 Ноябрь 2010 11:29 A.M.   [ Игнорировать ]   [ # 10 ]
Sr. Member
RankRankRankRank
Всего сообщений:  987
Зарегистрирован  2008-09-27

Выложи шаблон. У меня главная на огромнейший порталах максимум сотню выдает запросово

Профиль
 
 
Отправлено: 04 Ноябрь 2010 11:34 A.M.   [ Игнорировать ]   [ # 11 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Минут 10 дай, Я соберу все в 1 место

Профиль
 
 
Отправлено: 04 Ноябрь 2010 11:42 A.M.   [ Игнорировать ]   [ # 12 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Главная страница:

{embed="elements/.1_masterpage"}
                      {embed
="elements/.1_info"}
                      {embed
="elements/.1_searchform"}
                      {embed
="elements/.1_pop"}
                   {embed
="elements/.1_masterpagebottom"

.1_info - текстовый блок
.1_searchform - форма поиска
.1_pop - чтобы ускорить тоже сделал текстовым блоком без запроса к базе (изменяется и дополняется руками)

.1_masterpage

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <
html >
    <
head>
        <
title>авпвапвап</title>
                
{embed="elements/.1_head"}
    
</head>

    <
body>
             <
div id="pagewidth" >
        <
div id="wrapper" class="clearfix" 
        <
div id="twocols" class="clearfix"
           <
div id="maincol" >
                      
{embed="elements/.1_headmenu"}
                      {embed
="elements/.1_tablemenu"

.1_masterpagebottom

</div>
            <
div id="rightcol" >
                        <
div id="objectsslide">
                         
{embed="elements/.1_objectslide"}
                     
</div>
                     <
div id="premium">
                         
{embed="elements/.1_premium"}
                     
</div>
                     <
div id="lastact">
                         
{embed="elements/.1_lastact"}
                     
</div>
                        </
div>
        </
div
            <
div id="leftcol" >
                      
{embed="elements/.1_logo"}
                      
<div id="news">
                         
{embed="elements/.1_bonuses"}
                         {embed
="elements/.1_promotur"}
                      
</div>
                      
{embed="elements/.1_exp"}
</div>
</
div>
    
{embed="elements/.1_footer"}
    
</div>

             </
body>
        </
html

.1_head - блок подключения css и javascripts
.1_headmenu - меню текстовый блок без запроса к БД
.1_tablemenu - табличное меню без запроса к базе
.1_objectslide

{exp:weblog:entries status="for_sale" order="desc" limit="40" orderby="entry_id" weblog="catalogue" category="46" show_expired="yes" dynamic="off"}
                           {embed
="test/.obect_index_item_testmainnew" 
                           
title_ru="{title_ru}"
                           
entry_id="{entry_id}" 
                           
title="{title}"
                           
titlus="{title}"
                           
region="{region}"
                           
nas_punkt="{nas_punkt}"
                           
ob_plosht="{ob_plosht}"
                           
zeml_plosht="{zeml_plosht}"
                           
ob_rooms="{ob_rooms}"
                           
ob_beds="{ob_beds}"
                           
ob_price="{ob_price}"
                           
sqm_price="{sqm_price}"
                           
compl_minprice="{compl_minprice}"
                           
compl_maxprice="{compl_maxprice}"
                        
}
                        {
/exp:weblog:entries} 

.obect_index_item_testmainnew

{exp:gallery_extended:entries limit="1" related_id="{embed:entry_id}" type="weblog"}
<a  href="{path=" type="lowercase" title="Апартаменты в Болгарии">
<
img style="itemimgmain" src="{thumb_url}" width="100%" height="150" alt="Апартаменты в Болгарии">
</
a>
{/exp:gallery_extended:entries} 

.1_premium.1_lastact.1_logo.1_bonuses.1_promotur.1_exp.1_footer - текстовые боки

Профиль
 
 
Отправлено: 04 Ноябрь 2010 07:50 P.M.   [ Игнорировать ]   [ # 13 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

Тестировал так, запустил страничку - например получилось 273 запроса.
Включил кэширование (в 3 местах: глобальное кэширование, кэширование шаблонов, плюс добавил внутрь веблога параметр кэширования)
Перезапускаю страницу, закрываю ее. Открываю снова и вижу примерно 265 запросов. Т.е. Почти ничего незакэшировалась.

скажи, а после очистки всех кешей и перезапуске страницы в директории с кешем - файлы то появляются?

я проверяю так - удаляю кеш. смотрю в диру с кешем - пусто. перезапускаю страницу - смотрю в диру с кешем - густо.
кстати я тоже перемудрил как-то было 240 запросов - после вклюечния кеша (только шаблонов) выдает 15 - меня устраивает.

Профиль
 
 
Отправлено: 04 Ноябрь 2010 07:55 P.M.   [ Игнорировать ]   [ # 14 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

Я знаю про отключение ненужных данных при выводе weblog’а.
Еще я могу уменьшить собственные запросы, заменив * на список необходимых мне полей.
Что даст мне, по моим подсчетам, примерно еще 1-2 секунды.

А еще, знаешь, советуют еще не использовать embed шаблоны. Кстати, зачем у тебя такое засилье их? уж менюхи всякие да формы поиска зачем выносить в embed?

Профиль
 
 
Отправлено: 04 Ноябрь 2010 08:04 P.M.   [ Игнорировать ]   [ # 15 ]
Member
RankRankRank
Всего сообщений:  191
Зарегистрирован  2009-03-17

я с галереями никогда не работал, но почему бы не так:

{exp:weblog:entries}
    {exp
:gallery_extended:entries limit="1" related_id="{entry_id}" type="weblog"}
        
...
    
{/exp:gallery_extended:entries} 
{
/exp:weblog:entries} 

как минимум 40 запросов долой (получение из базы шаблона obect_index_item_testmainnew).

Профиль
 
 
   
1 из 2
1