Upload
superhostingbg
View
1.208
Download
2
Tags:
Embed Size (px)
Citation preview
Производителност за Wordpress
Любомир РусановСуперХостинг.БГ
Http://www.superhosting.bg
Какво е сървърен ресурс? Изразходвана памет; Процесорно натоварване; Интернет трафик; Дискови операции; Брой файлове; База от данни;
Основно правило за оптимизация
Грешките на програмистите ...
се решават ...с повече ХАРДУЕР!!!
До кога?
Основни грешки Оразмеряване (обработка) на картинки; Излишно голям брой елементи на
страницата; Ненужни статистически модули; Неоптимални алгоритми; Проблемни бази данни и заявки; Лош разчет на посещенията; Самоопресняващи се и презареждащи се
страници;
Намерете тясното място
Концентрирайте се върху най-често извикваният код;
Използвайте кеширане; Не извиквайте външни ресурси в реално
време; Използвайте оптимални SQL заявки; Тествайте с големи обеми данни още при
разработка;
Обратно към Wordpress Използване на кеширащи плъгини Не използвайте динамично оразмеряване,
например timthumb; Проверявайте plugin-ите, които използвате
за скорост; Премахнете излишните plugin-ини, които
реално не използвате; Внимавайте с броят ресурси (css, js,
картинки), които зареждате; 404 грешки;
Защо не timthumb
Извиква php код за ВСЯКА картинка; Извършва относително тежки операции за
всяка картинка; Картинките не се кешират от браузъра;
Използвайте mod_expires
Указва на уеб браузърите колко време на кешират ресурси;
Подходящ е за сайтове с много css, js и картинки;
Активира се чрез .htaccess; Пример
Използвайте mod_expires### activate mod_expires
ExpiresActive On
### Expire .gif's 1 month from when they're accessed
ExpiresByType image/gif A2592000
### Expire .jpg's 1 month from when they're accessed
ExpiresByType image/jpg A2592000
### Expire .js's 1 month from when they're accessed
ExpiresByType text/js "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
### Expire .css's 1 month from when they're accessed
ExpiresByType text/css "access plus 30 days"
### Expire everything else 1 day from when it's last modified
### (this uses the Alternative syntax)
ExpiresDefault "modification plus 1 day"
Използвайте W3 Total Cache Един от мощните кеширащи plugin-и; Кеширане на цели страници – генерирани от
php; Кеширане на заявки към базата данни; Кеширане на обекти; Поддържа minify на js и css + кеширане; Подобрява кеширането от браузърите; Подобрява обработката на 404 грешките Труден за конфигуриране;
Използвайте W3 Total Cache
Използвайте WP Super Cache Много популярен и бърз; Кеширане на цели страници генерирани от
php; Може да сервира кешираните страници и с
Php – няма нужда да се модифицира .htaccess
Подобрява кеширането от браузърите; Позволява компресиране на страниците; Лесен за конфигуриране;
Използвайте WP Super Cache
DB Cache Reloaded Fix
Кешира заявките към базата от данни; По-малък размер на кеша, защото не пази
цели страници; Много подходящ при големи бази от данни; Комбинира се добре с WP Super Cache Лесен за конфигуриране;
DB Cache Reloaded Fix<!-- Generated in 0,837 seconds. Made 86 queries to database and 21 cached queries. Memory used - 40.27MB --><!-- Cached by DB Cache Reloaded -->
Hyper Cache Extended
Кеширане на цели страници генерирани от php;
Работи както под Apache така и под IIS Обработка на 404 грешки; Съвместим е с мобилни версии; Разработен в България :) Лесен за конфигуриране;
Hyper Cache Extended
SQL_CALC_FOUND_ROWS Bug
Проявява се при много публикации:
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.ID NOT IN (44682, 44657, 44630) AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 24580, 5
SQL_CALC_FOUND_ROWS Bug
Проблема е по-скоро в MySQL; Може да се реши с кеширащ Plugin; Има наличен „пач“ за WordPress 3.2.1;
http://x-pose.org/2011/08/fix-the-wordpress-sql_calc_found_rows-bug/
Резюме Няма универсално решение; Тествайте не на реалният си сайт; Комбинирайте различни техники; Консултирайте се със специалисти;
Въпроси и отговори
Благодаря Ви!Любомир Русанов
http://www.superhosting.bg http://blog.superhosting.bg http://facebook.com/superhosting http://twitter.com/SuperHostingBG