Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimizing Drupal Performance (Polish)

2,045 views

Published on

These are slides for my talk at second meetup of Drupal Trojmiasto Group (http://3drupal.pl/) The topic is: Optimizing Drupal Performance. Basic practices. (Polish version)

Published in: Technology
  • Login to see the comments

Optimizing Drupal Performance (Polish)

  1. 1. Optimizing Drupal Performance Basic practices by Tim Kamanin (aka Spaiz) @timonweb timonweb.com mailto:timur@kamanin.com Drupal Trójmiasto 3drupal.pl
  2. 2. Dlaczego większość stron na Drupal działa wolno: - renderowanie strony w całości - udostępnianie dynamicznej zawartości anonimowym użytkownikom - wolne zapytania do mysql - module bloat
  3. 3. Typowy Drupal Stack CSS / JavaScript Media Drupal Apache MySQL PHP Linux
  4. 4. Drupal Performance Checklist
  5. 5. 1. Ogranicz liczbę modułów
  6. 6. 2. Zawsze sprawdzaj,co robią zainstalowane moduły
  7. 7. 3. Projektuj system i pisz moduły pamiętając o wydajności
  8. 8. 4. Rozdzielaj kod modułów na osobne pliki: module_name.admin.inc, module_name.path.inc, etc
  9. 9. 5. używaj drupal_static(), provides central static variable storage, docs: http://bit.ly/QD86rP
  10. 10. 6. Zainstaluj fast_404
  11. 11. 7. Eksportuj Views i Panels do kodu
  12. 12. 8. Włącz agregację css / javascript
  13. 13. 9. Niech modułaggregate cachezadba o agregację css/js
  14. 14. 10. Włącz page cache i page compression (mod_deflate)
  15. 15. 11. Zainstaluj Boost żeby powiększyćwydajność keszowaniaanonimów o 10 razy!
  16. 16. 12. Włącz keszowanieviews i blocków dla autoryzowanych użytkowników
  17. 17. 13. Przechowuj cache w pamięci za pomocą memcached albo redis
  18. 18. 14. Keszuj PHP z APC
  19. 19. 15. Nastrój MySQL: - szukaj wolnych zapytan - używaj indeksów- używaj EXPLAIN dla zapytan - nastrój my.cnf- get decent query cache and key buffer / innodb_buffer_pool_size
  20. 20. 16. Nastrój Apache: StartServers MinSpareServers MaxSpareServers MaxClients KeepAlive
  21. 21. 17. Nie zapomnij o mod_expires:ExpiresActive onExpiresByType image/jpg "access plus 1 month"ExpiresByType image/jpeg "access plus 1 month"ExpiresByType image/gif "access plus 1 month"ExpiresByType image/png "access plus 1 month"ExpiresByType text/css "access plus 1 months"ExpiresByType application/javascript "access plus 1 months"
  22. 22. 18. Rozdziel Media i Kod - Przenieś media do CDN - Przenieś media dooddzielnego serwera (Amazon S3)
  23. 23. 19. Przenieśwyszukiwanie z bazy danych do Solr search_api + Solr
  24. 24. Co jeszcze może być zrobione?
  25. 25. varnish, squid, loadbalancing, memcached, fieldsin mongdo, css sprites, Etag, ESI, separate database server, optimize media, preload, postload, external js, nginx, Lighttpd, amazon cloud, SSD
  26. 26. Komentarze, pytania? @timonweb timonweb.com mailto:timur@kamanin.com

×