Сделал на основе этого примера в php. Все работает, но показывает информацию о длительности запросов только из этой страницы.. локально.. все что параллельно происходит на реальных страницах не отображает. Получается я должен внедрить в каждую страницу интересующую этот код и лог записывать?
/ Поключаемся к базе данных$dbConn = new mysqli('localhost', 'user', 'password', 'dbname');// Устанавливаем режим профайлинга$dbConn->query('set profiling=1');// Выполняем наш запрос$dbConn->query('select * from goods');$data_profile = $dbConn->query('show profiles');// Получаем данные о профайлинге$row = $data_profile->fetch_array();// Отменяем режим профайлинга$dbConn->query('set profiling=0'); // Выведем данные на экранecho '<pre>';print_r($row);echo '</pre>'; // Получим время выполнения и строку sql-запроса$duration = $row['Duration'];$query = $row['Query']; printf('Запрос: %s. Время выполнения - %s', $query, $duration);
Вот то что показало по выборке из самой большой таблицы, но тут я простой запрос сделал (выборка по ID). Надо поработать будет чтобы показало то что нужно..
[0] => 1
[Query_ID] => 1
[1] => 0.00114473
[Duration] => 0.00114473
Для начала, хорошо бы провести профайлинг.Так можно будет определиться, где возникают задержки и уже определившись - приступать к работе по оптимизации.
Зашел в phpmyadmin:
set profiling=1;
show profiles;
Выдал: " MySQL вернула пустой результат (т.е. ноль строк). (Запрос занял 0.0002 сек.)"
Перед этим сделал запрос к странице, была задержка отображения секунд 10.
Я что-то не так сделал?
да вот это надо проработатьможет тормозить весь сервер, поэтому при выборках из соседних таблиц тормозабаза мизерная, такую можно в текстовом файле хранить и она не должна тормозить)
а можно как-то сохранить схему и показать кому нибудь? за оплату может.. возможно что посоветуют.. я боюсь что уже сделал все что мог )
а какой размер базы?может пора кластеризацию подключать?а так стоит смотреть в сторону Redis, например
Ну.. возможно по моим полулюбительским критериям огромная )) так она 2ГБ (дамп). А где хранится погода - там 40111809 записей и таблица 5ГБ если смотреть в phpmyadmin в Структуре.
Или это ни о чем при грамотных индексах и тп?
И еще вопрос, страницы тормозят не только там, где происходит выборка из большой таблицы, но и из других. Может ли одна большая таблица сказываться на работу с другими таблицами (если в это же время параллельно делаются запросы к большой таблице) ? то есть насколько все взаимосвязано..
вроде перестали слать?
Вот статистика за 3 месяца, я так понял ютуб замелен 2 месяца, то есть можно просмотреть динамику.
ИЮЛЬ-СЕНТЯБРЬ: есть изменения, насколько это фатально? так то вроде небольшие..А вот АПРЕЛЬ-ИЮНЬ:
Тоже отрицательная динамика (кроме время на сайте):
Смотреть:
1) Реально ли эти видео смотрят, потому что процент смотрящих может быть довольно низким, что в принципе может не оказывать значимого влияния на ПФ.
2) Статистику по ПФ в разрезе общих данных. Возможно там и не будет значимых колебаний.
Если видео не ваши, то искать схожие, если ваши - переносить на Рутуб.
я как-то пробовал выяснить сколько смотрят видео на сайте, но так и не нашел решение. Можете посоветовать как это сделать?
Я решил не испытывать судьбу и не давать браузеру пользователя решать пф и тд и тп сайта. Скорость пусть остается быстрой загрузки, а превьюха видоса даст пользователю выбор, смотреть или нет и с какой скоростью, но уже без влияния на сайт.
Не совсем понял, ифреймы ютуба поменяли но фотки с ютуба? при клике запускается видео?
Я думал на эту тему и решение есть. Пока не сделал, время нет, но там всё просто.
Превьюшки качаем себе, выводим их, но пользователю даем выбор смотреть откуда видео, места три хватит. Ютуб, Рутуб, что-еще или у себя. Всё это просто заменяем прежнее удобным способом автоматом.
подождите, но на рутубе же нет этих видео.. только на ютубе, это если только я все эти видео сам скачаю и перезалью на рутуб.. но мне кажется это не очень оправдано все