Відповіді:
Спочатку визначте, чи це візуалізація на передньому кінці чи справжнє виконання сценарію повільне. Зверніться до консолі розробника у вашому браузері, чи немає часу до першого байту . Це тривалість обробки сценарію на сервері
На скріншоті ви бачите, що він досить низький (200 мс), тому в цьому випадку проблема буде не на сервері, а на передній частині. Тепер, якщо закінчиться, скажімо, секунду, яку ви, можливо, захочете оптимізувати.
Перш ніж натискати на деякі підсилювачі та додаткове кешування, що не є виправленням, це лише патч або смуга, щоб приховати справжню проблему, спробуйте з’ясувати, що саме відбувається повільно. Для цього також можна використовувати кілька інструментів.
Повільні запити
Magento може бути дуже важким для бази даних, тому включення журналу повільних запитів може бути хорошим місцем для початку. Перегляньте цю публікацію, як її ввімкнути. Журнал покаже вам будь-який запит, який займає більше, ніж X секунд.
Профілі
Профілі допомагають вам зрозуміти, що відбувається у вашому коді. Для Magento я рекомендував би почати з Aoe_Profiler . Просто встановіть його та увімкніть. На передньому кінці ви отримаєте такий вихід:
Розгорніть результати та перевірте наявність великих червоних блоків. Це фактичний час, який потрібно було обробити певній частині коду. Слідкуйте за будь-якими сторонніми модулями, які займають багато часу або пам'яті.
Ще один чудовий інструмент - Чорний вогонь . Оскільки Aoe_Profiler є модулем в Magento, він не показує основні процеси php і може вийти з ладу на великих установках з великою кількістю модулів. Чорний вогонь працює на сервері. За допомогою хакатону ми встановили коробку Vagrant з чорним вогнем, яку ви можете використовувати. Просто поставте туди свій проект і розпаліть його. Перегляньте сайт Black fire для отримання додаткової інформації, як ним користуватися.
Остання, мабуть, моя улюблена: New Relic .
На жаль, це платна послуга, хоча вони надають безкоштовну пробну версію для профільних акаунтів. Після встановлення його на сервер та підключення профілю зачекайте кілька годин, щоб дані надійшли. Переконайтеся, що на магазині є деякий трафік.
У New Relic також є повідомлення в блозі про те, як налагодити Magento, який я можу порекомендувати. Також перегляньте модуль ProxiBlue New Relic для отримання додаткових даних Magento в New Relic.
В основному це покаже всі описані вище функції, такі як повільні запити, процеси в PHP тощо та відобразить їх у простих графіках та таблицях. Це повинно дати вам прекрасне розуміння, у чому полягає проблема у вашій установці.
І звідси Тепер, коли ви знаєте, що викликає низьку продуктивність, ви можете перейти до її вирішення. Перевірте такі форуми, як Google або 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 spajanje
Увімкнути кешування блоків 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" усі ваші javascripts та 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, APC Opcode та розширення кешу на повній сторінці - Встановити прискорювачі PHP - Встановити кеш Redis для кешування бекенда та сеансу - Встановити Lesti FPC
Оптимізація зображень & YSlow - в середньому 56 відсотків ваги сторінки веб-сайту складають зображення. Оптимізація зображень виробів може значно збільшити швидкість ваших сторінок, оскільки це зменшує час їх завантаження. - Скануйте свій веб-сайт через gtmetrix або Pingdom та дотримуйтесь їх пропозицій щодо оптимізації.
Використовуйте CDN
Ви можете прочитати деталі про це на моєму веб-сайті: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
якщо ви перебуваєте в спільному хостинг-середовищі, дуже складно досягти хорошої швидкості, оскільки не маєте повного контролю над сервером, а ресурс використовується декількома іншими веб-сайтами, але якщо ви на спеціальному сервері та маєте повний доступ адміністратора, спробуйте кеш лаку .
інші речі, які ви можете зробити -
1. Комбінувати файли 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. Увімкнення стиснення виводу, закінчення заголовків та відключення ETags у файлі .htaccess дивіться на цьому /programming//a/14745165/3114253
Використовуйте CDN, якщо можливо
Використовуйте функцію компіляції Magento. Повідомляється, що ви підвищуєте продуктивність на 25% -50%: Система> Налаштування. > Інструменти> Компіляція.
Показати менше ні. продукту на сторінці переліку продуктів
Увімкнути плоский каталог.
У інтерфейсі адміністратора Magento перейдіть до системи> Конфігурація> Каталог. У розділі Frontend змініть Використовувати категорію "Плоский каталог" на "YES". За бажанням під Frontend змініть Використовувати плоский каталог продукту на YES. Очистити кеш.
Якщо ви спробуєте прискорити свій інтерфейс:
Бекенд:
Щоб збільшити швидкість веб-сайту magento, можливо, спершу потрібно сканувати його за допомогою www.gtmetrix.com або Google Page Speed Insights:
то ви можете вирішити, що можна зробити. У більшості випадків це зводиться до:
Взяті з 34 способів прискорити М1 і М2