Jump to content

медленная первая загрузка


Recommended Posts

гугление не помогло
использую visual composer,который дает большую первую загрузку,дальше страница грузится быстро
вот кусок лога http://imgur.com/a/FzRPq
бывает первая загрузка 10 секунд
вот настройки производительности http://imgur.com/a/NMU5n
на серваке 4 ядра и 16гб озу
как ускорить первую загрузку?

Link to comment
Share on other sites

Для начала попробуйте изменить тип кеширования SMARTY на MySQL. Файловое кеширование при больших объемах кеша (кол-во файлов) слишком много теряет на файловых операциях (fopen - fread - fclose) + сортировка...

Кеш с APC так же показывает оптимальную производительность по сравнению с другими...

Link to comment
Share on other sites

пробовал играться с MySQL для SMARTY, у меня почему то SMARTY медленнее отдает последущие вызовы страницы, примерно 1с для MySQL и 0.3с для файлового кеша

 насчет APC-у меня пхп7 там уже встроенный opcache

Link to comment
Share on other sites

Я вообще отключил кеш смарти, он начал странно работать. Производительность при этом почти не пострадала.

В добавок я немного оптимизировал кеширование на стороне сервера и поправил некоторые странности в престовских контроллерах, таких как например пересчет в цикле... это ускорило работу.

 

Поиски "тормоза" я бы начал с оценки временных затрат на обращение к сторонним ресурсам (загрузка JS через CDN), потом Timeline (Safari browser) расскажет что так долго заставляет ждать.

Как правило, оказывается долго загружается какой-нибудь скрипт аналитики или криво написанный сторонний модуль. А дальше профайлером уже мониторить конкретный компонент и уже, когда таковой найдется, лезть и править. Там могут оказаться довольно серьезные про##ы в архитектуре :)

 

Но, гляньте для начала какие скрипты подтягиваются извне... и как именно (sync / async)

Link to comment
Share on other sites

Это все равно не отменяет построение запросов.

Затупы в начале - это функции init(), запуск всего зоопарка __construct() в паре с наследованием и валидация кеша. Это затратные операции как по времени, так и по памяти. Отсюда и начинать, почти всегда, почти на всех проектах...

Link to comment
Share on other sites

как я понял штатного решения для ускорения первой загрузки страницы нету

как вариант это держать все страницы в кеше чтобы сервак не удалял их оттуда

есть решение для этого?

Link to comment
Share on other sites

Тут нужно понять, что именно при первом обращении создает такую задержку. Это могут быть скрипты, которые выполняют кучу второстепенных действий в то время, когда должна грузиться страница, это может быть и рендер с многократными пересчетами CSS и даже модуль "какие-то там очень популярные товары..." который дергает при обращении кучу компонентов и лезет каждый раз в базу данных...

Дайте ссылку на сайт, попробую посмотреть.

Чтобы уменьшить время загрузки нужно минимизировать (кешировать) сторонние скрипты, разделить CSS и даже частично что-то из правил поместить в начало страницы (посмотрите рекомендации гугла по АМР) и внимательно, крайне внимательно посмотреть на реализацию любых модулей "не из коробки".

Еще неплохо бы посмотреть настройки серверной части, может оказаться, что не все работает так как это предполагается...

Link to comment
Share on other sites

Тогда я могу только представить масштабы по оптимизации.... У меня были несколько шаблонов, которые явно были созданы при помощи какого-то "конструктора". О скорости там не приходилось говорить в принципе.

Все что можно было сделать при помощи массивов - все было сделано именно так, CSS стили модулей часто дублировали друг друга или переопределяли уже существующие стили.... и главная страница загружалась так медленно, что помогало только полное отключение всех сторонних модулей.

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...