Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как уменьшить время ответа сервера и увеличить скорость загрузки страниц


18ynitazov

Recommended Posts

Доброго всем дня. Имеется сайт: https://xn--18-8kciye8al7ah.xn--p1ai/ 

Посещаемость небольшая в районе 50-100 заходов в день.

Сайт находиться на VPS от Fozzy. Спрашивал со стороны провайдера есть ли перенапряжение ресурсов и есть ли смысл их увеличивать, сказали, что у нас всё в норме, с их стороны никаких проблем, которые бы тормозили работу сайта не обнаружено. 

Произведены работы по оптимизации: На сайте установлен Full Index, сжаты изображения до 80%, отключен подсчёт товаров, Gzip стоит на 9, в .htaccess в главной директории магазина, добавлено следующее:

  • <IfModule mod_expires.c>
  • ExpiresActive On
  • ExpiresByType image/jpg "access 1 year"
  • ExpiresByType image/jpeg "access 1 year"
  • ExpiresByType image/gif "access 1 year"
  • ExpiresByType image/png "access 1 year"
  • ExpiresByType text/css "access 1 month"
  • ExpiresByType text/html "access 1 month"
  • ExpiresByType application/pdf "access 1 month"
  • ExpiresByType text/x-javascript "access 1 month"
  • ExpiresByType application/x-shockwave-flash "access 1 month"
  • ExpiresByType image/x-icon "access 1 year"
  • ExpiresDefault "access 1 month"
  • </IfModule>

 

Последний отчёт производительности: 

image.thumb.png.cf7ff7f18f32e23ce2c86785f0374076.png

Скорость уж слишком медленная, даже Яндекс вебмастер стал ругаться, что большая часть страниц открывается дольше 3 сек. 

Подскажите, пожалуйста, у кого какие есть предположения в какую сторону имеет смысл копать? 

Змінено користувачем 18ynitazov
Надіслати
Поділитися на інших сайтах


Отключить все стронние скрипты.
LazyLoad включить.
Memcached
То, что картинки не грузятся - беда.

http://prntscr.com/ritao1
Учитывать надо то, что у кого-то вк может быть заблокирован на работе.
http://prntscr.com/ritb1y
3 минуты, 34 секунды - думайте сами, решайте, сами.

Надіслати
Поділитися на інших сайтах

Спасибо вам за быстрый отклик, можете, пожалуйста разъяснить для не очень далёкого в этом деле: 

 

18 минут назад, splka сказал:

Отключить все стронние скрипты.

1) Сторонние скрипты это типа чата jivosite, я правильно понимаю. Просто тот же живосайт достаточно полезен для оперативного ответа клиентам и его отключение может уменьшить конверсию, повторюсь, если я правильно вас понял. 

 

21 минуту назад, splka сказал:

LazyLoad включить.
Memcached

2) Подскажите, что даёт их включение и как их включить, нужно ли для этого, что-то отдельно устанавливать? 

 

22 минуты назад, splka сказал:

То, что картинки не грузятся - беда.

http://prntscr.com/ritao1

3) Подскажите, пожалуйста, по какой причине это может происходить и как это можно устранить? 

 

26 минут назад, splka сказал:

Учитывать надо то, что у кого-то вк может быть заблокирован на работе.
http://prntscr.com/ritb1y

4) Спасибо за замечание! Не подумал об этом, что тогда посоветуйте предпринять? 

 

28 минут назад, splka сказал:

3 минуты, 34 секунды - думайте сами, решайте, сами.

5) Не совсем понял про время. Это на сколько возможно сократить или это то время, которого можно добиться произведя рекомендуемые вами поправки? 

Надіслати
Поділитися на інших сайтах


1 - время ответа сервера оценивать всякими шаманские gmetrixами - это так же как мерять в попугаях сами знаете что!
Ну чтобы долго не объяснять тот же gmetrix до сих пор в 2020 году хочет спрайты и еще какую то муть безумную

2 - время ответа сервера оценивается инструментом который может это оценить а это 

https://webmaster.yandex.ru/tools/server-response/

3 - если вы хотите отталкиваться от каких то цифр, которые в целом каким-то образом могут повлиять на позиции в выдаче и пользовательское поведение. Не нужно прикладывать подорожник - а нужно пользоваться официальными инструментами. Тем же https://developers.google.com/speed/pagespeed/insights/?hl=ru

4 - не нужно путать теплое с мягким. время ответа сервера, время DOM content load, время до первой реакции страницы на пользовательский ввод, время отрисовки первого контента это три  разных показателя, которые связаны друг с другом опосредовано и не имеют прямой зависимости. И работать над каждым показателем необходимо отдельно. 

Так к примеру, если говорить про ttfb - т.е. непосредственно реакцию сервера на запрос из браузера. То здесь нужно смотреть в сторону оптимизации базы данных, скриптов движка, настроек сервера и качества самого железа, на котором у вас все вертится.
Если говорить про время отрисовки первого контента необходимо смотреть структуру контента страницы, структуру подключения внешних скриптов, количество скриптов и т.д. Опять же, бывает часто-густо у людей обнаруживается 2-3 подключения api яндекс-карт и пару подключений api вконтакта. И пока бразуер качает-обрабатывает этот внешний контент, пользователи ждут инициализации/повторной инициализации этих скриптов по 2-3-5 секунд. И к времени ответа сервера это не имеет никакого отношения.

Еще к примеру, одна частая ошибка - это постояно включенный вебвизор в яндекс метрике. На декстопе для пользователя он практически не заметен, а вот на бюджетном смартфоне и плохом интернете, он создает излишнюю избыточную нагрузку, как на сеть, так и на бразуер, отсылая постоянно в яшу снимки поведения пользователя. Но 99% владельцев магазинов в него ни разу не заглядывали и не заглянут, а если и надо будет оценить поведение покупателей - то его в любой момент можно включить на время.

 

И вот так во всем. Каждый кейс требует своего подхода, разбора и решения. Универсальной таблетки нет и не будет!


Ну и поржал от совета про memcache. На фоне 2-3-4 сек ответа сервера, че он даст? 25 мс? Жестяные советы вобщем бывают!
Это типа как если у вас горит полхаты, возьмите поплюйте на огонь, пожар не потушите, но пошипит!
 

  • +1 2
Надіслати
Поділитися на інших сайтах


3 часа назад, 18ynitazov сказал:

Имеется сайт: https://xn--18-8kciye8al7ah.xn--p1ai/ 

Что-то совсем не открывается - 500 ошибка.

Посмотрите лог медленные запросы в БД

Надіслати
Поділитися на інших сайтах


 

Спасибо вам, большое, что обратили внимание на нашу ситуацию. 

23 часа назад, Yoda сказал:

всякими шаманские gmetrixами

1)По поводу оценки времени ответа сервера с помощью gmetrix услышал, спасибо. От себя, как от обычного пользователя не разбирающегося в этих тонкостях, объясню почему я до сегодняшнего дня пользовался этим сайтом: при анализе нашего сайта, он даёт чёткие развёрнутые, конкретные ответы по действиям, которые нужно сделать для улучшения и оптимизации той или иной части сайта, это достаточно удобно для рядового пользователя. К примеру: у нас на главной логотип (слева наверху) изначально был загружен очень большого размера в формате png и съедал очень много места, Gmetrix подсказала какой конкретный минимальный размер картинки, который будет оптимален без потери качества  и подкупило меня одновременно) И поэтому он стал для меня доверительным источником информации. В итоге, подскажите, пожалуйста, про gmetrix имеет смысл вообще забыть его навсегда или только, если это касается скорости ответа сервера? 

 

23 часа назад, Yoda сказал:

время ответа сервера оценивается инструментом который может это оценить а это 

2) Проверил с помощью яндекс вебмастера и вы оказались правы (я не сомневался, просто факт). Скорость загрузки фактически 3.65 сек. но тем не менее Яндекс просит не более 3 сек. поэтому в любом случае я считаю есть над чем поработать.

image.png.5befc450493066460e9c058a07d6004c.png

 

 

23 часа назад, Yoda сказал:

3 - если вы хотите отталкиваться от каких то цифр, которые в целом каким-то образом могут повлиять на позиции в выдаче и пользовательское поведение. Не нужно прикладывать подорожник - а нужно пользоваться официальными инструментами. Тем же https://developers.google.com/speed/pagespeed/insights/?hl=ru

3) Исходя из отчёта googlepagespeed очевидно, что самая яркая проблема у нас - это время ответа сервера

image.png.e20125bc8a7282fb2b1a074e549e24d9.png

Но, к сожалению, даже банально кликнув на подробнее попадаем на это ( это возвращаясь к удобству пользования gmetrix, чтобы была не только статистика с цифрами, но и конкретные методы, применив которые ты получаешь конкретный результат, опять же со стороны незнайки) 

image.png.c42cf740ede790e6e9cd2927f928c81c.png

 

23 часа назад, Yoda сказал:

4 - не нужно путать теплое с мягким

Спасибо, достаточно понятно разъяснили разницу и появилось первоначальное понимание куда копать.

Я понял, что 

- время ответа сервера - это оптимизация на стороне сервера и самого CMS 

- отрисовка контента - это к оптимизации скриптов

23 часа назад, Yoda сказал:

время ответа сервера, время DOM content load, время до первой реакции страницы на пользовательский ввод, время отрисовки первого контента это три  разных показателя

Единственное подскажите, пожалуйста, я не совсем понял, что из оставшегося третий показатель и какую оптимизацию нужно для него проводить? 

Змінено користувачем 18ynitazov
Надіслати
Поділитися на інших сайтах


21 час назад, i3bepb сказал:

то-то совсем не открывается - 500 ошибка.

Посмотрите лог медленные запросы в БД

Вы советуйте поставить модуль  "Лог медленных запросов для Opencart 2.x [ocmod]" от автора Otvet, чтобы отследить медленные запросы, я правильно понял ваше предложение? 

Змінено користувачем 18ynitazov
Надіслати
Поділитися на інших сайтах


20 часов назад, 18ynitazov сказал:

Вы советуйте поставить модуль  "Лог медленных запросов для Opencart 2.x [ocmod]" от автора Otvet, чтобы отследить медленные запросы, я правильно понял ваше предложение?

Нет. Я преблагаю включить лог медленных запросов в mysql.

Чтобы включить лог медленных запрос необходим доступ к серверу, где будут сохраняться лог и root права до mysql, чтобы изменять параметры. Надо изменить три параметра long_query_timeslow_query_log_fileslow_query_log. Первый (long_query_time) задает отсечку в секундах, если запрос выполняется дольше данного времени, то он попадает в лог. Второй (slow_query_log_file), указывает путь до файла лога. Третий (slow_query_log) вкл/выкл этот самый лог. Смотрим вначале какое текущее значение этих параметров:

SHOW GLOBAL VARIABLES LIKE 'long_query_time'; -- первый параметр
SHOW GLOBAL VARIABLES LIKE 'slow_query_log%'; -- второй и третий параметр

Затем выставляем нужные значения:

SET GLOBAL long_query_time = 5; -- Пять секунд
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow-query.log'; -- Пишем путь куда ложить файл лога, mysql должен иметь права на запись
SET GLOBAL slow_query_log = ON; -- Включаем лог

И постепенно уменьшаем значение long_query_time, до тех пор пока не появляются запросы в файле лога, ну и потом оптимизируем их если они есть. Но для начала надо посмотреть есть ли они

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.