Wordcamp2011

1,361 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,361
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Wordcamp2011

  1. 1. Производителност за Wordpress Любомир Русанов СуперХостинг.БГ Http://www.superhosting.bg
  2. 2. Какво е сървърен ресурс? <ul><li>Изразходвана памет; </li></ul><ul><li>Процесорно натоварване; </li></ul><ul><li>Интернет трафик; </li></ul><ul><li>Дискови операции; </li></ul><ul><li>Брой файлове; </li></ul><ul><li>База от данни; </li></ul>
  3. 3. Основно правило за оптимизация <ul><li>Грешките на програмистите ... </li></ul><ul><li>се решават ... </li></ul><ul><li>с повече ХАРДУЕР!!! </li></ul>
  4. 4. До кога?
  5. 5. Основни грешки <ul><li>Оразмеряване (обработка) на картинки; </li></ul><ul><li>Излишно голям брой елементи на страницата; </li></ul><ul><li>Ненужни статистически модули; </li></ul><ul><li>Неоптимални алгоритми; </li></ul><ul><li>Проблемни бази данни и заявки; </li></ul><ul><li>Лош разчет на посещенията; </li></ul><ul><li>Самоопресняващи се и презареждащи се страници; </li></ul>
  6. 6. Намерете тясното място <ul><li>Концентрирайте се върху най-често извикваният код; </li></ul><ul><li>Използвайте кеширане; </li></ul><ul><li>Не извиквайте външни ресурси в реално време; </li></ul><ul><li>Използвайте оптимални SQL заявки; </li></ul><ul><li>Тествайте с големи обеми данни още при разработка; </li></ul>
  7. 7. Обратно към Wordpress <ul><li>Използване на кеширащи плъгини </li></ul><ul><li>Не използвайте динамично оразмеряване, например timthumb; </li></ul><ul><li>Проверявайте plugin-ите, които използвате за скорост; </li></ul><ul><li>Премахнете излишните plugin-ини, които реално не използвате; </li></ul><ul><li>Внимавайте с броят ресурси (css, js, картинки), които зареждате; </li></ul><ul><li>404 грешки; </li></ul>
  8. 8. Защо не timthumb <ul><li>Извиква php код за ВСЯКА картинка; </li></ul><ul><li>Извършва относително тежки операции за всяка картинка; </li></ul><ul><li>Картинките не се кешират от браузъра; </li></ul>
  9. 9. Използвайте mod_expires <ul><li>Указва на уеб браузърите колко време на кешират ресурси; </li></ul><ul><li>Подходящ е за сайтове с много css, js и картинки; </li></ul><ul><li>Активира се чрез .htaccess; </li></ul><ul><li>Пример </li></ul>
  10. 10. Използвайте 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 &quot;access plus 1 month&quot; ExpiresByType text/javascript &quot;access plus 1 month&quot; ExpiresByType application/x-javascript &quot;access plus 1 month&quot; ### Expire .css's 1 month from when they're accessed ExpiresByType text/css &quot;access plus 30 days&quot; ### Expire everything else 1 day from when it's last modified ### (this uses the Alternative syntax) ExpiresDefault &quot;modification plus 1 day&quot;
  11. 11. Използвайте W3 Total Cache <ul><li>Един от мощните кеширащи plugin-и; </li></ul><ul><li>Кеширане на цели страници – генерирани от php; </li></ul><ul><li>Кеширане на заявки към базата данни; </li></ul><ul><li>Кеширане на обекти; </li></ul><ul><li>Поддържа minify на js и css + кеширане; </li></ul><ul><li>Подобрява кеширането от браузърите; </li></ul><ul><li>Подобрява обработката на 404 грешките </li></ul><ul><li>Труден за конфигуриране; </li></ul>
  12. 12. Използвайте W3 Total Cache
  13. 13. Използвайте WP Super Cache <ul><li>Много популярен и бърз; </li></ul><ul><li>Кеширане на цели страници генерирани от php; </li></ul><ul><li>Може да сервира кешираните страници и с Php – няма нужда да се модифицира .htaccess </li></ul><ul><li>Подобрява кеширането от браузърите; </li></ul><ul><li>Позволява компресиране на страниците; </li></ul><ul><li>Лесен за конфигуриране; </li></ul>
  14. 14. Използвайте WP Super Cache
  15. 15. DB Cache Reloaded Fix <ul><li>Кешира заявките към базата от данни; </li></ul><ul><li>По-малък размер на кеша, защото не пази цели страници; </li></ul><ul><li>Много подходящ при големи бази от данни; </li></ul><ul><li>Комбинира се добре с WP Super Cache </li></ul><ul><li>Лесен за конфигуриране; </li></ul>
  16. 16. 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 -->
  17. 17. Hyper Cache Extended <ul><li>Кеширане на цели страници генерирани от php; </li></ul><ul><li>Работи както под Apache така и под IIS </li></ul><ul><li>Обработка на 404 грешки; </li></ul><ul><li>Съвместим е с мобилни версии; </li></ul><ul><li>Разработен в България :) </li></ul><ul><li>Лесен за конфигуриране; </li></ul>
  18. 18. Hyper Cache Extended
  19. 19. 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
  20. 20. SQL_CALC_FOUND_ROWS Bug <ul><li>Проблема е по-скоро в MySQL; </li></ul><ul><li>Може да се реши с кеширащ Plugin; </li></ul><ul><li>Има наличен „пач“ за WordPress 3.2.1; </li></ul><ul><li>http://x-pose.org/2011/08/fix-the-wordpress-sql_calc_found_rows-bug/ </li></ul>
  21. 21. Резюме <ul><li>Няма универсално решение; </li></ul><ul><li>Тествайте не на реалният си сайт; </li></ul><ul><li>Комбинирайте различни техники; </li></ul><ul><li>Консултирайте се със специалисти; </li></ul>
  22. 22. Въпроси и отговори
  23. 23. Благодаря Ви! Любомир Русанов http://www.superhosting.bg http://blog.superhosting.bg http://facebook.com/superhosting http://twitter.com/SuperHostingBG

×