Posted by kbahey on February 5, 2008 at 7:34pm
Last updated by david strauss on Sun, 2008-03-02 00:15
Last updated by david strauss on Sun, 2008-03-02 00:15
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
- Configuring squid
- 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
| Attachment | Size |
|---|---|
| davidstrauss_mysql_performance.pdf | 50.5 KB |