Опять же, я ещё слабо во всем этом ориентируюсь, но если я правильно вас понял, то измерить мне нужно время от завершения отправки запроса до начала загрузки контента. Т.е. измерить ожидание (в Google Chrome это время именуется Waiting (TTFB)). Вот скриншот http://joxi.ru/NXEA4buBVn9mbz. Если этот waiting велик - о чём это говорит?
Я в общем-то догадался, что это время запроса. Только вот если сложить, то 1.5 секунды не выходит (хотя может я чего-то не понимаю?). Вообще, если сложить всё время 52 запросов, то 1.5 секунды не выйдет, как это пишет google или тот же
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
Короче я запутался :) явно скачки из-за крона... Может его попробовать просто выключить?
Спасибо! Нашёл по вашей ссылке, как отобразить все запросы и время каждого в футере сайта. Постараюсь разобраться---------- Добавлено 28.07.2015 в 13:16 ----------
А скачки количества запросов это нормально? Появление 5 дополнительных запросов не хило прибавляют времени. Постараюсь выяснить, какие это именно запросы---------- Добавлено 28.07.2015 в 14:25 ----------Нашёл те 5 дополнительных запросов, которые изредка появляются:
[3] => Array ( [0] => SELECT option_value FROM wp_options WHERE option_name = '_transient_timeout_doing_cron' LIMIT 1 [1] => 0.00034189224243164 [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('init'), call_user_func_array, wp_cron, spawn_cron, get_transient, get_option ) [4] => Array ( [0] => SELECT autoload FROM wp_options WHERE option_name = '_transient_doing_cron' [1] => 0.00030303001403809 [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('init'), call_user_func_array, wp_cron, spawn_cron, get_transient, delete_option ) [5] => Array ( [0] => SELECT autoload FROM wp_options WHERE option_name = '_transient_timeout_doing_cron' [1] => 0.00030803680419922 [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('init'), call_user_func_array, wp_cron, spawn_cron, get_transient, delete_option ) [6] => Array ( [0] => SELECT option_value FROM wp_options WHERE option_name = '_transient_doing_cron' LIMIT 1 [1] => 0.00029706954956055 [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('init'), call_user_func_array, wp_cron, spawn_cron, set_transient, get_option ) [7] => Array ( [0] => INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_doing_cron', '1438078636.2417569160461425781250', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`) [1] => 0.00052690505981445 [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('init'), call_user_func_array, wp_cron, spawn_cron, set_transient, add_option )
Везде присутствует этот крон - планировщик задач. Не уверен, что он мне вообще нужен: публикации не планирую, плагинов нет, нужно только обновление вордпресса. + где-то вычитал, что при росте посещаемости крон сильно грузит сервер, ибо запускается каждый раз, когда новый юзер загружает страницу. Кто-нибудь сталкивался с кроном этим? Стоит ли его отключить через define('DISABLE_WP_CRON', true);?
Я конечно не спец, но хочу разобраться, нормально это или нет. Дело в том, что скачки запросов возникают просто при периодической перезагрузке одной и той же страницы. Без обновления контента, стилей или других компонентов сайта. Сроки кеширования стоят большие, поэтому не думаю, что это связано с истечением сроков.
Ага, не подумал, спасибо. Поставил в футере - запросов стало 47. Среднее время 300-500 мс.
Скачки количества запросов возникает периодически, на момент написания этого ответа зафиксировать не смог. Но когда код стоял вверху, с 200-300 мс прыгало до 1.3 - 1.5 сек.
Вот и хочу узнать, нормально ли появление таких скачков? И соответственно, разобраться, все ли нормально с кодом/БД или нужно грешить на хостинг?
Так а где вообще эти запросы увидеть можно?---------- Добавлено 28.07.2015 в 00:33 ----------Вот оно. В типичных ситуациях совершается 47 запросов примерно за 300-500 мс. Иногда откуда-то прибавляет еще 5 запросов и получается что-то типа этого "52 за 1,459 секунды"😡
Судя по примеру гугла, он рекомендует стили вообще ПОСЛЕ </html> ставить - https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery
В принципе, я тоже не совсем поддерживаю эту логику, потому что сайт подгружается хоть и быстрее, но визуально коряво. Со стилями в коде переборщил, согласен - еще не придумал, как лучше сделать. Пока на этапе индексации решил прогнуться под поисковики, а там видно будет...
Перенес ссылку на стили выше js - даже балл добавило:) Спасибо!
В общем-то, и с менюхой вроде все ок, после снятия async
Кхм, нелепый пропуск... Спасибо. Однако не помогло... Еще обнаружил, что в ситуациях, когда меню не загружается, также не работает поле поиска (должно выезжать при нажатии). Так что наверно проблема в яваскриптах---------- Добавлено 21.07.2015 в 23:49 ----------Убрал асинхронную загрузку jquery - вроде полет нормальный. Если у кого есть рабочий рецепт - поделитесь, пожалуйста. А то пальцем в небо...