Информация Ускорение и оптимизация престашоп

Хочу поделиться своей лабораторной работой по оптимизации и что дало лучший результат в Для просмотра ссылки Войди или Зарегистрируйся до его апдейта.
Исходные данные:
- ответ сервера был порядка 6,1 сек
- рекомендации все в красной зоне
Что было сделано:
- переход с PHP 5,6 на 7 дало -3 сек (в версии 7,1 была 500 ошибка)
- на стороне сервера также было вкл. : combine_javascript, combine_css, move_css_above_scripts, rewrite_javascript, rewrite_css, rewrite_style_attributes_with_url, lazyload_images, collapse_whitespace, move_css_to_head, remove_quotes, inline_css, trim_urls, extend_cache_images, extend_cache_scripts, extend_cache_css.
- кеширование в браузере
- Memcached
- на стороне сайта SMARTY (Компиляция шаблонов:Никогда не перекомпилировать файлы шаблона, Тип кеширования: Файловое кеширование, Очистка кэша: Очищать кеш при каждом изменении чего-либо)
- ККК (Умное кеширование CSS: вкл, Переместить JavaScript в конец: вкл)
В итоге получил:
скорость ответа от 0,26-0,57 (основной прирост дало PHP и Memcached)
для моб. 65/100
для комп. 80/100
До апа все было в зеленой зоне.
Может кому будет полезной информация.

До апа на дешевом хосте с темой warehouse без особых телодвижений было 78/100 87/100 после апа 35/100 так что лучше давайте рецепт под новые реалии )
 
  • Нравится
Реакции: alpi
До апа на дешевом хосте с темой warehouse без особых телодвижений было 78/100 87/100 после апа 35/100 так что лучше давайте рецепт под новые реалии )
Все это работает, но нужно теперь ужимать больше фото. Проблема в том, что после такого сжатия то уже не фотографии.... а набор пикселей. И только из-за фотографий у меня такие результаты.
 
вы бы хоть уточнили, что это модуль page_speed от гугла - все эти combine_css и т.д.
у меня например включение перечисленных оптимизаций на warehouse не дали никакого прироста производительности, а некоторые опции так вообще ухудшали попугаи, за счёт увеличения времени рендера страницы.
веб-сервер у вас апач, наверное ?
memcached у себя выключил, т.к. одновременно с встроенным в пхп7 opcache он глючил в некоторых модулях.
 
И у меня пейджспид ругнулся на картинки. Решил так: установил на впску Для просмотра ссылки Войди или Зарегистрируйся, рекомендованный самим пейджспидом, перешел в папку img и выполнил следующее:
Код:
find -type f -name "*.jpg" -exec jpegoptim --strip-all --max=90 {} \;
минут за 20 все изображения пережались, визуально качество не ухудшилось, размер уменьшился на 15-30%, пейджспид перестал ругаться на неоптимизированные изображения.
прогнал картинки таким способом - ситуация не изменилась, картинки ужались не так сильно. гугл рекомендует каждую ещё на 7-10% ужать.
 
вы бы хоть уточнили, что это модуль page_speed от гугла - все эти combine_css и т.д.
у меня например включение перечисленных оптимизаций на warehouse не дали никакого прироста производительности, а некоторые опции так вообще ухудшали попугаи, за счёт увеличения времени рендера страницы.

ну опции надо применять, понимая смысл того, что они делают. если грузишь на сайт уже оптимизированные изображения - значит опции сжатия картинок можно и выключить. юзаешь combine_css - нужно включить и prioritize_critical_css. и так далее, копируешь опцию с какого-нибудь мануала "score 100/100 in pagespeed" - почитай в документации от гугла смысл всех включаемых опций, возможно, некоторые из них будут для тебя лишними.
непосредственно после применения новых опций происходит спад производительности (поскольку модуль обрабатывает кешированные версии страниц), поэтому измерять рейтинг пейджспида нужно спустя некоторое время, предварительно самому прогрузив главную страницу сайта несколько раз.
включение memcached - спорный вопрос, на быстром хостинге оно может вообще не давать прироста производительности (как, например, было в моем случае), либо вообще ухудшить скорость. в частности, у меня мемкешд безбожно скидывал всё в файл подкачки - падения производитльности не было только потому, что используются ssd. на хостинге с обычными жесткими дисками в подобных случаях может быть даже некоторое замедление в работе. поэтому не следует бездумно врубать memcached в надежде, что это панацея от тормозов.

веб-сервер у вас апач, наверное ?
модуль pagespeed есть и для nginx

прогнал картинки таким способом - ситуация не изменилась, картинки ужались не так сильно. гугл рекомендует каждую ещё на 7-10% ужать.
ну скачай пару десятков картинок и пережми на своем компе до 88%, например, если качество визуально не ухудшится - пережми и все остальные.
 
Последнее редактирование:
я об этом же, собственно.
человек преподносит включение pagespeed как панацею.
я в своё время угробил сутки на тесты с этим модулем. потом плюнул - чистый nginx не хуже.
модуль pagespeed есть и для nginx
вопрос как бы автору..
ну скачай пару десятков картинок и пережми на своем компе до 88%, например, если качество визуально не ухудшится - пережми и все остальные.
89 уже не ругается
 
Последнее редактирование:
я в своё время угробил сутки на тесты с этим модулем. потом плюнул - чистый nginx не хуже.

ну пейджспид всё же другие функции выполняет, при грамотной настройке он как минимум сделает не хуже, а скорее всего даже ускорит отображение страницы.
кстати, раз уж используешь чистый nginx - для оптимизации изображений можно настроить модуль http_image_filter, только не забудь сделать кеширование пережатых результатов, а то при каждой загрузке страницы изображения будут вновь пережиматься. плюс его в том, что оригинальные изображения остаются нетронутыми, и можно безбоязненно поиграться с настройками качества обрезки/сжатия.
 
мне не нравится эта идея, закэшировать все картинки на 6500+ товаров - не самое логичное использование диска.
а без кэша эта опция уже совсем теряет смысл. разве что для тестов, или на лету отдавать webp.
 
Назад
Сверху