Ответы:
Сначала определите, является ли это рендерингом переднего плана или фактическим медленным выполнением скрипта. Проверьте с помощью консоли разработчика в вашем браузере время до первого байта . Это время, которое скрипт обрабатывает на сервере.
На скриншоте видно, что он довольно низкий (200 мс), поэтому в этом случае проблема будет не на сервере, а на внешнем интерфейсе. Теперь, если все кончено, скажем, секунду, которую вы можете оптимизировать.
Перед тем, как надеть некоторые бустеры и дополнительное кеширование, которое не является исправлением, это просто патч или помощь группы, чтобы скрыть реальную проблему, попытайтесь выяснить, что именно медленно. Вы также можете использовать несколько инструментов для этого.
Медленные запросы
Magento может быть довольно тяжелым для базы данных, поэтому включение Slow Query Log может быть хорошим началом. Проверьте этот пост о том, как включить его. Журнал покажет вам любой запрос, который занимает больше X секунд.
Профайлеры
Профилировщики помогут вам понять, что происходит в вашем коде. Для Magento я бы рекомендовал начать с Aoe_Profiler . Просто установите его и включите. На переднем конце он даст вам вывод, как это:
Разверните результаты и проверьте наличие больших красных блоков. Это фактическое время, необходимое для обработки определенной части кода. Обращайте внимание на любые сторонние модули, которые занимают много времени или памяти.
Еще один замечательный инструмент - черный огонь . Поскольку Aoe_Profiler является модулем в Magento, он не показывает основные процессы php и может привести к сбою в больших установках с большим количеством модулей. Черный огонь работает на сервере. С помощью хакатона мы создали Vagrant box с черным огнем, который вы можете использовать. Просто поместите свой проект туда и запустите его. Проверьте Black Fire сайт для получения дополнительной информации, как его использовать.
Последний, наверное, мой любимый: New Relic .
К сожалению, это платная услуга, хотя они предоставляют бесплатную пробную версию для профессиональных учетных записей. После установки его на свой сервер и подключения профиля подождите пару часов, пока данные не поступят. Убедитесь, что в магазине есть трафик.
В New Relic также есть запись в блоге о том, как отлаживать Magento, которую я могу порекомендовать. Также проверьте модуль ProxiBlue New Relic для дополнительных данных Magento в New Relic.
В основном это покажет вам все вышеописанные функции, такие как медленные запросы, процессы в PHP и т. Д., И отобразит их в виде простых графиков и таблиц. Это должно дать вам отличное представление о том, что является проблемой в вашей установке.
И отсюда Теперь, когда вы знаете, что является причиной низкой производительности, вы можете перейти к ее решению. Проверьте форумы как этот или Google для части или модуля Magento, который является медленным. Многие проблемы хорошо известны, и другие уже решили это раньше. Или, если вы не можете найти решение, оставьте свой вопрос здесь и включите свои выводы в вопрос
Оптимизация скорости сайта в Magento - очень обширная тема. Это одна ссылка, которая может помочь вам,
http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/
Суть этого,
Вам нужно сосредоточиться на двух аспектах: 1. Оптимизация внешнего интерфейса 2. Оптимизация внутреннего интерфейса
Оптимизация внешнего интерфейса
Вы можете установить Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html и включить css, js merge.
Включите кеширование Magento в админке.
Включить сжатие Gzip
Оптимизация бэкэнда
Вы можете настроить Varnish для полного кэширования страниц.
Включить усложнение в бэкэнде.
Включить плоскую структуру для каталога (категории и продуктов)
Вот несколько маленьких хитростей, которые я нашел, чтобы помочь ускорить работу вашего сайта:
Отложите загрузку изображения, добавив его в /template/page/html/head.phtml
<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
Затем /template/catalog/product/list.phtml
измените ссылки на изображения следующим образом:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AQQATUqB0EhKgAAAAxJREFUCNdj+P//PwAF/gL+3MxZ5wAAAABJRU5ErkJggg==" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
Другой способ - «Pre Gzip» - все ваши javascript и CSS-файлы, а затем добавьте их в свой .htaccess
.
<ifModule mod_headers.c>
##### serve pre gziped files #####
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [L,QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
</IfModule>
Magento - это отличная платформа для электронной коммерции. Он имеет множество функций, и вы действительно можете создать масштабируемую платформу электронной коммерции. Я использовал Magento в своем последнем проекте и столкнулся с этой проблемой скорости. После некоторого исследования и модификации я действительно ускорил свой веб-сайт.
Оптимизация сервера
Настройки Magento
Установите Redis Cache, код операции APC и расширение Full Cache - установите PHP Accelerators - установите Redis кеш для бэкенда и кеширования сессии - установите Lesti FPC
Оптимизация изображений и YSlow - в среднем 56 процентов веса страницы сайта составляют изображения. Оптимизация изображений вашего продукта может значительно увеличить скорость ваших страниц, поскольку это уменьшает время их загрузки. - Просканируйте свой сайт через gtmetrix или Pingdom и следуйте их советам по оптимизации.
Используйте CDN
Вы можете прочитать подробности об этом на моем сайте: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
если вы находитесь в среде общего хостинга, очень трудно добиться хорошей скорости, поскольку у вас нет полного контроля над сервером, а ресурс используется несколькими другими веб-сайтами, но если вы находитесь на выделенном сервере и имеете полный доступ администратора, попробуйте кэш-лак ,
другие вещи, которые вы можете сделать -
1.Combine JS и CSS файлы
Magento admin -> System Configuration -> Developer -> Under “Javascript Settings”, change “Merge Javascript Files” to YES.
Magento admin -> System Configuration -> Developer -> Under “CSS Settings”, change “Merge CSS Files” to YES
2. Включите сжатие вывода, заголовки Expires и отключите ETag в файле .htaccess, смотрите этот /programming//a/14745165/3114253
Используйте CDN, если это возможно
Используйте функцию компиляции Magento. Сообщается, что вы получите повышение производительности на 25% -50%: System> Config. > Инструменты> Компиляция.
Показать меньше нет. продукта на странице списка продуктов.
Включить плоский каталог.
Из интерфейса администратора Magento перейдите в Система> Конфигурация> Каталог. В разделе «Внешний интерфейс» измените «Использовать категорию плоского каталога» на ДА При желании в разделе «Внешний интерфейс» измените «Использовать плоский каталог товаров» на «ДА». Очистить кеш.
Если вы попытаетесь ускорить ваш интерфейс:
Backend:
Чтобы увеличить скорость веб-сайта magento, вы можете сначала отсканировать его с помощью www.gtmetrix.com или Google Page Speed Insights:
тогда вы можете решить, что можно сделать. В большинстве случаев это сводится к:
Взято из 34 способов ускорить М1 и М2