DrupalCon Boston 2008 Performance session planning

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

This is a planning wiki page for those who want to get involved in this.

TODO (Please expand on your section below)

-How performance impacts your business - Michael Myers

  • Webserver, File systems, Squid, Architecture tuning ?

  • Squid

  • What is Squid?
    • Caching Proxy, originally just a caching proxy
    • Moon-lights as a Reverse Caching Proxy, a.k.a. HTTP Accelerator
    • Can increase speed and decrease load by caching some dynamic content and almost all static content
  • Squid at the Open Source Lab
    • Discovered by Scott Kveton
    • Many at the lab doubted its effectiveness
    • Saved us through a painful initial growth period
    • osuosl.org
      • Used to hit slashdot quite often
      • Used to be hosted on our underpowered shell server
      • Squid saved the server
  • Squid on drupal.org
    • Prevents us from needing a static file server
    • Reduced load on our webnodes
    • Wasn't a silver bullet
  • Limitations of Squid with Drupal
    • Didn't have a huge impact on drupal.org because of limitations of squid with Drupal specifically
    • No-Cache Headers
    • Largely doesn't cache static content
    • Static/Dynamic Cache hit rates on drupal.org
  • Using Squid as an HTTP Accelerator
    • Configuring squid
      • ACL's
      • cache_peer
      • http_port
    • Configuring Apache
      • Listen on port 8080
      • Disable SSL. Squid can and should terminate SSL sessions.
      • KeepAlive for persistent connections
  • Common Squid Problems
    • Stale Cache
    • Scalability
    • Zero Sized Replies
    • Set-Cookie headers
    • Differentiating logged in vs anonymous users

-Database scalability - Master slave, Performance schema design - David Strauss

-Need javascript and CSS tuning - Henrique Recidive or Konstantin Kaefer

Outlined parts of the presentation.

  • Linux - Khalid Baheyeldin

    • Distros
    • Compile your own vs. using a distro
    • Disk layout (logs, database, files)
  • Monitoring for performance - Khalid Baheyeldin

    • uptime, top and htop
    • vmstat
    • netstat
    • apachetop
    • mtop/mytop
    • mysqladmin/processlist
    • mysqlreport/dbtuning
    • mysql slowquery log
    • Munin
    • awstats
    • Google Analytics
  • PHP

    • PHP mod_php
    • CGI
    • FastCGI
    • Other ways to run PHP
  • PHP op-code caching

    • eAccelerator
    • Xcache
    • APC
    • Commerical op-code caches
    • Compilers

-Caching for performance - Steve Rude

  • Drupal's caching
    • in 5.x
    • What is new in 6.x
    • Caching in your code
  • Drop in Cache replacement modules
    • APC
    • XCache
    • Memcache
  • Analyzing Drupal with DTrace - Scott Mattoon

  • MySQL performance tuning - Jeremy, Narayan

  • Why use InnoDB?
    • Mostly ACID Compliant (Atomicity, Consistency, Isolation, Durability)
    • Row-Level Locking
    • Clustered Indexes
  • Why not to use InnoDB?
    • ACID Overhead
    • Some missing features
    • Performance varies (search tables and queries)
  • Safe Tuning Options
    • innodb_buffer_pool_size
    • innodb_log_file_size
    • innodb_flush_method
    • sort_buffer_size, read_buffer_size, read_rnd_buffer_size (Context switch timing)
  • Possibly Dangerous Tuning Options
    • innodb_flush_logs_at_trx_commit
    • innodb_log_buffer_size
    • memlock
  • Transaction Isolation Levels
    • SERIALIZABLE
    • Repeatable Read
    • Read-Committed
    • Read-Uncommitted
    • Performance of Read-Committed
  • InnoDB At The Open Source Lab
    • Wholesale conversion when I took over
    • Convincing Clients
      • How Important To You Is Your Data?
    • Summer 2007: db3.osuosl.org hardware failure
  • Drupal.org And InnoDB
    • ACID Overhead
    • Resident Memory Demands
    • Clustered Indexes Strike Back
    • When is concurrency a bad thing?
    • Buffer Pool vs File System Cache
    • Search Queries
AttachmentSize
davidstrauss_mysql_performance.pdf50.5 KB

High performance

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: