Искать  
 
   
 
Назрузка на MySQL при exp:weblog:entries (берёт много лишнего)
Отправлено: 07 Сентябрь 2012 10:08 A.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  6
Зарегистрирован  2011-12-21

собственно шаблон

{exp:weblog:entries weblog="news" limit="4" disable="categories|trackbacks|pagination|member_data|category_fields" orderby="random" dynamic="on"}
{pic} {title} 
{title}
{
/exp:weblog:entries} 

dynamic=“on” добавлено чтобы на время тестов отключить кэширование на стороне MySQL

Лог дебага шаблона

(0.000012) - Begin Template Processing -
(
0.000218) URI: /av/trest2/
(
0.000229) Path.php Template: /
(
0.000245) Retrieving Template
(0.000260) Parsing Template URI
(0.002744) Retrieving Template from Database: av/trest2
(0.004089) Template Found
(0.004162) Retrieving Template from File
(0.004609) Template Type
: webpage
(0.004716) Parsing Site Variables
(0.004759) Global Path.php Variables (Keys): nobotkode|site_id|site_label|site_short_name
(0.004773) Global Path.php Variables (Values): 68153|1|Ð�вÑ�омобилÑ�нÑ�
й Ð¿Ð¾Ñ�Ñ�ал Ð½Ð¾Ð¼ÐµÑ� 1 Ð² Ð Ð¾Ñ�Ñ�ии 
| Ð°Ð²Ñ�о Ð½Ð¾Ð²Ð¾Ñ�Ñ�и, Ñ�Ð
µÑ�Ñ�
-дÑ�айвÑ�, Ð¾Ñ�зÑ�вÑ� Ð°Ð²Ñ�овладелÑ�Ñ�ев, Ð±Ð»Ð¾Ð³Ð¸.|default_site
(0.004828) Parse Date Format String Constants
(0.004849) Parse Current Time Variables
(0.004885) Parsing Segment, Embed, and Global Vars Conditionals
(0.007279) - Beginning Tag Processing -
(
0.007297) Parsing Tags in Template
(0.007331) Tag: {exp:weblog:entries weblog="news" limit="4" disable="categories|category_fields|custom_fields|member_data|pagination|trackbacks" orderby="random" dynamic="on"}
(0.007526) Closing Tag Found
(0.007611) Processing Tags
(0.007637) Module Tag: Weblog/entries
(0.007651) Including Files for Tag and Modules
(0.009527) Beginning Final Tag Data Processing
(0.009546) Calling Class/Method: Weblog/entries
(0.009722) -> Class Called: Weblog
(0.009784) -> Method Called: entries
(0.322592) Calling Extension Class/Method: Fieldframe/weblog_entries_tagdata
(0.323771) Calling Extension Class/Method: Mh_file_ext/modify_template
(0.326385) Calling Extension Class/Method: Fieldframe/weblog_entries_tagdata
(0.326612) Calling Extension Class/Method: Mh_file_ext/modify_template
(0.327654) Calling Extension Class/Method: Fieldframe/weblog_entries_tagdata
(0.327870) Calling Extension Class/Method: Mh_file_ext/modify_template
(0.328912) Calling Extension Class/Method: Fieldframe/weblog_entries_tagdata
(0.329130) Calling Extension Class/Method: Mh_file_ext/modify_template
(0.330023) -> Data Returned
(0.330106) - End Tag Processing -
(
0.330119) Parsing PHP on Output
(0.330205) - End Template Processing -
(
0.330213) Parse Global Variables
(0.332161) Template Parsing Finished
Memory Usage
: 1,952,104 bytes 

Часть лога MySQL - медленный запрос выявлен

15 тут всё понятно исполняется быстро
SELECT DISTINCT
(t.entry_id) FROM exp_weblog_titles AS t LEFT JOIN exp_weblogs ON 
t
.weblog_id = exp_weblogs.weblog_id LEFT JOIN exp_members AS m ON m.member_id = t.author_id 
WHERE t
.entry_id !='' AND t.site_id IN ('1') AND t.entry_date < 1346987597 
AND (t.expiration_date = 0 OR t.expiration_date > 1346987597) 
AND 
exp_weblogs.is_user_blog = 'n' AND t.weblog_id = '4' AND t.status = 'open' 
ORDER BY rand(), t.entry_id desc LIMIT 0, 4

16 откуда берётся столь монстрообразный sql запрос 
???????????

SELECT t.entry_id, t.weblog_id, t.forum_topic_id, t.author_id, t.ip_address, t.title,
 
t.url_title, t.status, t.dst_enabled, t.view_count_one, t.view_count_two,
 
t.view_count_three, t.view_count_four, t.allow_comments, t.comment_expiration_date,
 
t.allow_trackbacks, t.sticky, t.entry_date, t.year, t.month, t.day, t.edit_date,
 
t.expiration_date, t.recent_comment_date, t.comment_total, t.trackback_total,
 
t.sent_trackbacks, t.recent_trackback_date, t.site_id as entry_site_id, w.blog_title,
 
w.blog_name, w.blog_url, w.comment_url, w.tb_return_url, w.comment_moderate,
 
w.weblog_html_formatting, w.weblog_allow_img_urls, w.weblog_auto_link_urls,
 
w.enable_trackbacks, w.trackback_use_url_title, w.trackback_field,
 
w.trackback_use_captcha, w.trackback_system_enabled, m.username, m.email, m.url,
 
m.screen_name, m.location, m.occupation, m.interests, m.aol_im, m.yahoo_im, m.msn_im,
 
m.icq, m.signature, m.sig_img_filename, m.sig_img_width, m.sig_img_height,
 
m.avatar_filename, m.avatar_width, m.avatar_height, m.photo_filename, m.photo_width,
 
m.photo_height, m.group_id, m.member_id, m.bday_d, m.bday_m, m.bday_y, m.bio,
 
md.*, wd.* FROM exp_weblog_titles AS t LEFT JOIN exp_weblogs 
 
AS w ON t.weblog_id = w.weblog_id LEFT JOIN exp_weblog_data 
 
AS wd ON t.entry_id = wd.entry_id LEFT JOIN exp_members 
 
AS m ON m.member_id = t.author_id LEFT JOIN exp_member_data 
 
AS md ON md.member_id = m.member_id 
 WHERE t
.entry_id IN (12779,1204,11035,17999) ORDER BY rand(), t.entry_id desc 

sql 16 занимает 0.28-0.32 при вбивании в PhpMyAdmin,
Почему берётся столько много не нужных мне данных ??
в disable указано всё что только можно (судя по хелпу), или не всё ???

Отключение расширений Fieldframe и Mh_file_ext через админку ничего не даёт, ситуация не улучшается даже если выключить все расширения

Профиль
 
 
Отправлено: 09 Сентябрь 2012 07:41 P.M.   [ Игнорировать ]   [ # 1 ]
Новичок
Rank
Всего сообщений:  6
Зарегистрирован  2011-12-21

уже начал переделывать все запросы через sql модуль - это давало в 5-7 раз меньшую нагрузку за счёт правильного запроса

но выход был проще - переходите на innodb )))))))

Профиль
 
 
Отправлено: 09 Сентябрь 2012 09:41 P.M.   [ Игнорировать ]   [ # 2 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  644
Зарегистрирован  2009-04-11

Заюзай кеширование wink cache=“yes” refrash=“60”

 Подпись 

Няшка, программист, фотограф, подкастер, блоггер и CEO студии FDCore Studio

Профиль
 
 
Отправлено: 12 Сентябрь 2012 03:37 P.M.   [ Игнорировать ]   [ # 3 ]
Новичок
Rank
Всего сообщений:  6
Зарегистрирован  2011-12-21

кэширование у меня включено глобально на уровне шаблонов

после сброса кэша страницы генерировались по паре секунд - не дело это

переход на innodb ускорил выполнение sql запросов без их оптимизации, раз в 20 ускорил

Профиль
 
 
Отправлено: 15 Сентябрь 2012 08:05 P.M.   [ Игнорировать ]   [ # 4 ]
Member
Avatar
RankRankRank
Всего сообщений:  197
Зарегистрирован  2009-02-13

Какой хостинг? Версия ЕЕ?  Мне переход на innodb не помог. Всё перевёл кроме exp_weblog_data (записи - 47,418; 36.2 МБ ) - fulltext!!!  Нагрузка сильно возросла (х1,5). Наверно всё же лучше сделать как советует NetSoul - модуль Static Page.

Профиль
 
 
Отправлено: 16 Сентябрь 2012 11:29 A.M.   [ Игнорировать ]   [ # 5 ]
Новичок
Rank
Всего сообщений:  6
Зарегистрирован  2011-12-21

ee 1.6.9
vps - mysql настраивал специально под innodb

на fulltext я забил, конвертнул всё ...

чем это грозит ???

в принципе на сайте установлен поиск гугла так что зачем полнотекстовый поиск по mysql мне не понятно

Профиль