Page Speed Обеспечить быстрый ответ сервера

123
VE
На сайте с 17.08.2006
Offline
76
#11

1. У вас беда :) Миниатюры генерятся "на лету" - пользуется timthumb.php.

- проверьте версию скрипта: пользуйте новейшую, ибо старая - дырка в безопасности

- проверьте, чтобы этим скриптом создавался кэш картинок

2. Попробуйте избавиться от timthumb.php, переписав вывод миниатюр, пользуя стандартные возможности WordPress.

3. Попробуйте прививку для сервера.

Если сервер огорчает вас - огорчите сервер - пусть думает и работает :)

Вариант 1.


<IfModule mod_expires.c>
ExpiresActive On

##
# Specify an expiration one week in the future for images, JavaScripts and
# CSS files (as recommended by Google Page Speed). Edit or remove the lines
# to set up your own expiration logic.
##
ExpiresByType image/png A604800
ExpiresByType image/gif A604800
ExpiresByType image/jpg A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/javascript A604800
ExpiresByType application/x-javascript A604800
ExpiresByType text/css A604800

</IfModule>

Вариант 2. Чуть веселей.


##
# Expires headers (for better cache control)
# @see https://github.com/h5bp/html5-boilerplate
##
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType text/html "access plus 0 seconds"
# Data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
# Feed
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
# Media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# HTC files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# Webfonts
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# CSS and JavaScript
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

Синтаксис разный - выбирайте, что понравится.

Будете девелопить комментарите все. На продакшене - раскомментарьте, что нужно.

Где втулить? ИМХО, лучше перед # BEGIN WordPress, дабы не потер автоматом. А лучше периодически глазом смотрите, чтобы не потер :)

Посмотрите куда скрипт скидывает кэш-картинки. Возможно в одну диру и там их у вас очень (очень) много. Из-за этого может замедляться доступ. В таком случае, попробуйте с программистом разнести кэш по подпапкам, как это разносится при заливке оригиналов.

Прививку серверу попробуйте в любом случае.

DK
На сайте с 08.06.2013
Offline
15
#12

view'er timthumb запустила кстати только вчера вечером), читала про дырку в безопасности, у меня версия 2.8.11...вроде последняя

вот мой .htacess

# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>

# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>

Header append Cache-Control "public"
FileETag MTime Size
ExpiresActive On
ExpiresDefault "access plus 0 minutes"
ExpiresByType image/ico "access plus 1 years"
ExpiresByType text/css "access plus 1 years"
ExpiresByType text/javascript "access plus 1 years"
ExpiresByType image/gif "access plus 1 years"
ExpiresByType image/jpg "access plus 1 years"
ExpiresByType image/jpeg "access plus 1 years"
ExpiresByType image/bmp "access plus 1 years"
ExpiresByType image/png "access plus 1 years"

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
Header append Vary User-Agent
</IfModule>

<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Возможно что-то из этого и лишнее, я если честно не знаю) что-то нужно добавить из того что вы описали? Я отключила timthumb, вижу что из-за него +1 проблема с page speed

VE
На сайте с 17.08.2006
Offline
76
#13

Ну, добавьте кэширование веб-фонтов.

Вам правильно посоветовали - скинуть все на локал, отследить проблемные запросы. Сейчас там вижу 165 запросов к базе. Как-то мрачно.

Объединять скрипты (в один js) и стили (в один css) можно. Но не нужно. Используйте их пожатые версии. Выигрыш от такой манипуляции, по сравнению с тем, как у вас отдаются картинки - тьфу.

Кстати, сбросьте список плагинов - уверен, вам покажут того, кто "виноват" :)

И раз про плагины. Сколько их там у вас? В папочке. Неиспользованые плагины (не активированы, не будут использоваться в ближайшем обозримом) удалите из папочки плагинов. Системка взохнет легче.

DK
На сайте с 08.06.2013
Offline
15
#14
view'er:
Ну, добавьте кэширование веб-фонтов.
Вам правильно посоветовали - скинуть все на локал, отследить проблемные запросы. Сейчас там вижу 165 запросов к базе. Как-то мрачно.

Объединять скрипты (в один js) и стили (в один css) можно. Но не нужно. Используйте их пожатые версии. Выигрыш от такой манипуляции, по сравнению с тем, как у вас отдаются картинки - тьфу.

Кстати, сбросьте список плагинов - уверен, вам покажут того, кто "виноват" :)

И раз про плагины. Сколько их там у вас? В папочке. Неиспользованые плагины (не активированы, не будут использоваться в ближайшем обозримом) удалите из папочки плагинов. Системка взохнет легче.

Вот мои плагины, вроде-бы ничего лишнего)

png img.png
forest25
На сайте с 12.09.2009
Offline
67
#15

На картинки слишком большое время кеширования не ставьте, толку от этого маловато будет. Дня 3 думаю вполне достаточно.

Был опыт, на небольшой пачке сайтов генерился траффик в 500Гб в месяц, после выставления времени жизни кеша на 3 дня траффик упал(при той же посещаемости) до 50Гб =)

Кстати говоря мсье view'er вам много всего полезного посоветовал, но не учел что статику у вас отдает не apache, а nginx =) Так что крутите настройки кеширования в нем.

http://your-happy-life.com/wp-content/uploads/2013/07/zagruzhennoe-206x125.jpg


Status Code: 200
Date: Thu, 18 Jul 2013 07:01:55 GMT
Content-Encoding: gzip
Last-Modified: Wed, 17 Jul 2013 07:17:34 GMT
Server: nginx/1.4.1
ETag: "2111-4e1afe330df80"
Vary: Accept-Encoding,User-Agent
Content-Type: image/jpeg
Cache-Control: max-age=2592000, public
Accept-Ranges: bytes
Content-Length: 8314
Expires: Fri, 18 Jul 2014 07:01:55 GMT

На самом же деле объединение js и css даст снижение количества запросов к серверу, а значит - 1) он вздохнет свободнее 2) сайт загрузится быстрее (в современных браузерах есть ограничение на количество параллельных коннектов к одному хосту)

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

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
DK
На сайте с 08.06.2013
Offline
15
#16
forest25:
На картинки слишком большое время кеширования не ставьте, толку от этого маловато будет. Дня 3 думаю вполне достаточно.
Был опыт, на небольшой пачке сайтов генерился траффик в 500Гб в месяц, после выставления времени жизни кеша на 3 дня траффик упал(при той же посещаемости) до 50Гб =)

Кстати говоря мсье view'er вам много всего полезного посоветовал, но не учел что статику у вас отдает не apache, а nginx =) Так что крутите настройки кеширования в нем.

http://your-happy-life.com/wp-content/uploads/2013/07/zagruzhennoe-206x125.jpg

Status Code: 200
Date: Thu, 18 Jul 2013 07:01:55 GMT
Content-Encoding: gzip
Last-Modified: Wed, 17 Jul 2013 07:17:34 GMT
Server: nginx/1.4.1
ETag: "2111-4e1afe330df80"
Vary: Accept-Encoding,User-Agent
Content-Type: image/jpeg
Cache-Control: max-age=2592000, public
Accept-Ranges: bytes
Content-Length: 8314
Expires: Fri, 18 Jul 2014 07:01:55 GMT


На самом же деле объединение js и css даст снижение количества запросов к серверу, а значит - 1) он вздохнет свободнее 2) сайт загрузится быстрее (в современных браузерах есть ограничение на количество параллельных коннектов к одному хосту)

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

мда, видимо зря я взяла платную тему со встроенными библиотеками и виджетами( думала как лучше а получилось как всегда...

Оптимизайка
На сайте с 11.03.2012
Offline
396
#17

mod_pagespeed волшебным образом решит сразу все проблемы, кроме тормозного канала.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
forest25
На сайте с 12.09.2009
Offline
67
#18
Dasha_Kektereva:
мда, видимо зря я взяла платную тему со встроенными библиотеками и виджетами( думала как лучше а получилось как всегда...

Так можно наверное пинать разработчика платной темы раз он берет за это деньги ;)

VE
На сайте с 17.08.2006
Offline
76
#19

Иу-иу, а точнее е... Бревна-то я и не увидел :)

По nginx-у ничего не скажу. Не моя епархия. Хостера мучать, погуглив.

1.

Пускайте http://tools.pingdom.com/

Увидите битые скрипты - найдите места, где они пыркаются - убейте (пофиксите).

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

На второй вкладке "Performance Grade" - вообще раздолье для мыслей и действий.

О некэшируемости скриптов и стилей с ? отличная отповедь.

2.

Плагины. Давно не нуждался в чем-то "сверх", но 3 штуки сразу можно заменить на данные из конфига:

code-update

plugins-updates

theme-updates

"Visitor Maps and Who's Online" - оно вам надо? Плагинчик явно не под вашу версию.

И так пройтись по всему списку.

3.

Самое веселое. Sahifa от themeforest.net

Вы поставили второй WP (со всеми мыслимыми плагинами) на WP и чего-то хотите? Там пока тема заинициализируется - будет не только 200 запросов :) и 5 минут.

Если вы купили оф. эту тему - пинайте на предмет оптимизации разработчика.

Если "спионерили" - сжимайте волю в кулак и пытайтесь самостоятельно освоить оптимизацию Premiun темы.

Сча в твиттер уйдет:

Владельцу сайта на #WordPress: захотел Premium Theme - захоти приличный хостинг.

DK
На сайте с 08.06.2013
Offline
15
#20

view'er эммм...а можно пояснение 100% во вкладке Performance Grade это хорошо или плохо?)

я отключила многое что не нужно, вот что получилось, это нормально?

на сегодняшний день

your-happy-life.com
Tested from Amsterdam, Netherlands on July 18 at 12:27:17
Page size
115.3kB
Load time
60.00s
Requests
20
Perf. grade
87/100
Your website is slower than 97% of all tested websites

за 17 июля

http://your-happy-life.com/
Tested from New York City, New York, USA on July 17 at 11:14:11
Page size
1.9MB
Load time
27.86s
Requests
222
Perf. grade
79/100
Your website is slower than 95% of all tested websites

Время загрузки с 28с до 60с конечно жестоко

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий