Всем добрый
Моя ситуация:
Если я как администратор (авторизован id=1) (хотя на гостя для которого страница не берется из кеша ситуация та же) захожу на сайт и открываю любую первую страницу, то время ее генерирования составляет:
Page execution time was 5300.02 ms. Executed 270 queries in 1336.62 milliseconds.
Memory usage:
Memory used at: devel_init()=3.03 MB, devel_shutdown()=19.73 MB.
Если же я обновлю эту же страницу или зайду на любую другу, то время ее генерирования существенно ниже. Данные я беру при открытии /admin/reports/dblog если страницу просто обновляем, то данные у нас
Page execution time was 354.7 ms. Executed 138 queries in 103.61 milliseconds.
Memory usage:
Memory used at: devel_init()=3.01 MB, devel_shutdown()=18.2 MB.
В хостинговой компании посоветовали обратить внимание на запросы к базе, возможно они кешируются при первом обращении и при последующем открытии любой другой страницы берутся из кеша, но разница аш в 15 раз. Кол-во запросов при последующем обращении к этой же странице в 2 раза меньше. Подскажите, правы ли в хостинговой компании? Почему запросов в 2 раза меньше? Действительно ли время генерирования так сильно может разнится? Можно ли что-то сделать?
Комментарии
спустя несколько минут показатели такие
Page execution time was 3507.81 ms. Executed 139 queries in 1796.39 milliseconds.
Memory usage:
Memory used at: devel_init()=3.03 MB, devel_shutdown()=18.2 MB.
в devel можно посмотреть кто и какую оказывает нагрузку
я бы тоже посмотрел какие запросы в каждом случае.
Сегодня ситуация следующая
Executed 267 queries in [color=#FF0000]3105.16[/color] milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was [color=#FF0000]17239.38[/color] ms.
Memory usage:
Memory used at: devel_init()=0.32 MB, devel_shutdown()=6.24 MB.
10-ка длительных операции: + переводы
1. [color=#FF0000]191.36[/color] menu_get_names SELECT DISTINCT(menu_name) FROM mir_menu_links ORDER BY menu_name
2. [color=#FF0000]120.92[/color] cache_get SELECT data, created, headers, expire, serialized FROM mir_cache_menu WHERE cid = 'links:navigation:page-cid:admin/reports/dblog:1'
3. [color=#FF0000]51.24[/color] cache_get SELECT data, created, headers, expire, serialized FROM mir_cache_content WHERE cid = 'content_type_info:ru'
4. [color=#FF0000]185.85[/color] _dblog_get_message_types SELECT DISTINCT(type) FROM mir_watchdog ORDER BY type
5. [color=#FF0000]847.5[/color] pager_query SELECT COUNT(*) FROM mir_watchdog w INNER JOIN mir_users u ON w.uid = u.uid
6. [color=#FF0000]71.12[/color] pager_query SELECT w.wid, w.uid, w.severity, w.type, w.timestamp, w.message, w.variables, w.link, u.name FROM mir_watchdog w INNER JOIN mir_users u ON w.uid = u.uid ORDER BY w.wid DESC LIMIT 0, 50
7. [color=#FF0000]85.22[/color] drupal_lookup_path SELECT dst FROM mir_url_alias WHERE src = 'user/1' AND language IN('ru', '') ORDER BY language DESC, pid DESC
8. [color=#FF0000]106.99[/color] _update_cache_get SELECT data, created, expire, serialized FROM mir_cache_update WHERE cid = 'update_available_releases'
9. [color=#FF0000]78.55[/color] _update_cache_get SELECT data, created, expire, serialized FROM mir_cache_update WHERE cid = 'update_project_projects'
10. [color=#FF0000]45.59[/color] lock_acquire INSERT INTO mir_semaphore (name, value, expire) VALUES ('module_rebuild_cache', '70561274850cb1000db8ab6.28426102', 1355485214.8992)
11. [color=#FF0000]809[/color] locale (в совокупности все запросы)
Обновил. теже самые запросы
Executed 136 queries in 16.95 milliseconds. Queries taking longer than 5 ms and queries executed more than once, are highlighted. Page execution time was 159.22 ms.
Memory usage:
Memory used at: devel_init()=0.32 MB, devel_shutdown()=5.83 MB.
1. 0.06 menu_get_names SELECT DISTINCT(menu_name) FROM mir_menu_links ORDER BY menu_name
2. 0.07 cache_get SELECT data, created, headers, expire, serialized FROM mir_cache_menu WHERE cid = 'links:navigation:page-cid:admin/reports/dblog:1'
3. 0.64 cache_get SELECT data, created, headers, expire, serialized FROM mir_cache_content WHERE cid = 'content_type_info:ru'
4. 0.06 _dblog_get_message_types SELECT DISTINCT(type) FROM mir_watchdog ORDER BY type
5. 0.06 pager_query SELECT COUNT(*) FROM mir_watchdog w INNER JOIN mir_users u ON w.uid = u.uid
6. 0.11 pager_query SELECT w.wid, w.uid, w.severity, w.type, w.timestamp, w.message, w.variables, w.link, u.name FROM mir_watchdog w INNER JOIN mir_users u ON w.uid = u.uid ORDER BY w.wid DESC LIMIT 0, 50
7. 0.06 drupal_lookup_path SELECT dst FROM mir_url_alias WHERE src = 'user/1' AND language IN('ru', '') ORDER BY language DESC, pid DESC
8. 3.83 _update_cache_get SELECT data, created, expire, serialized FROM mir_cache_update WHERE cid = 'update_available_releases'
9. 0.1 _update_cache_get SELECT data, created, expire, serialized FROM mir_cache_update WHERE cid = 'update_project_projects'
10. отсутствует lock_acquire
11. менее 5 locale (в совокупности)
Что с этим можно сделать? Почему pager_query, например,выполнялся первый раз 847.5 а второй раз 0.06 ?!? это в 14 тысяч раз меньше!!! Может все таки где-то что-то кешируется или это можно кешировать? Подскажите, пожалуйста.