Development

TheNeedForSpeed (diff)

You must first sign up to be able to contribute.

Changes between Version 9 and Version 10 of TheNeedForSpeed

Show
Ignore:
Author:
davedash (IP: 76.17.224.250)
Timestamp:
03/03/07 00:14:33 (11 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TheNeedForSpeed

    v9 v10  
    1 = The Need For Speed! = 
    2  
    3 As our symfony applications become ever more popular and rise to the heights of success, our databases will suck more air, our server processes will be put into high gear, and our disks will spin at higher RPMs. Like a car stressed and slowed while traveling at high altitude, we begin to feel The Need For Speed. 
    4  
    5 This wiki entry serves as a central place for people to share tips and techniques for speeding up their symfony web site. This page is not limited to symfony itself and covers all layers of an application from the client's initial request to the final rendering of their page. This includes, but is not limited to, database and web server optimizations, file storage and distribution, caching, load balancing, benchmarking, and so on... 
    6  
    7 If you have a great tip or technique to improve the speed of our symfony web sites please contribute it here! Please focus on "free" and/or "open source" solutions unless there really is a better alternative. 
    8  
    9 == Symfony Specific Tuning == 
    10  
    11 === Caching === 
    12  
    13 Symfony's caching capabilities are covered in the [http://www.symfony-project.com/book/trunk/12-Caching caching] chapter of the Definitive Guide to symfony.  There is also a chapter about improving [http://www.symfony-project.com/book/trunk/18-Performance performance]. 
    14  
    15 == PHP == 
    16  
    17 === Configuration (php.ini) === 
    18  
    19  * realpath_cache_size=64K 
    20  * realpath_cache_ttl=180 
    21  * output_handler = [http://us2.php.net/ob_gzhandler ob_gzhandler] compress your php output for browsers that support it. Most useful for modem users.  
    22  
    23 === Code precompilation === 
    24  
    25  * [http://en.wikipedia.org/wiki/Alternative_PHP_Cache APC] is a free, open, and robust framework for caching and optimizing PHP intermediate code. 
    26  * [http://eaccelerator.net/ eAccelerator] "is a free open-source PHP accelerator, optimizer, and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times." 
    27  
    28 == Database Optimizations == 
    29  
    30 === Indexes === 
    31  
    32 === Replication === 
    33  
    34 === Query Caching === 
    35  
    36  * [http://www.danga.com/memcached/ Memcached] - Free and open source. Used in production on several popular sites. Also see PHP's implementation of this as a [PECL extension http://us2.php.net/memcache]. Propel 2.0 is [http://propel.phpdb.org/trac/ticket/68 probably going to support this]. 
    37  
    38 === ORM Layer === 
    39  
    40 [http://propel.phpdb.org/trac/ Propel] 
    41  
    42 [http://www.phpdoctrine.com/ Doctrine] 
    43  
    44   Promised to be faster than Propel, we are eagerly awaiting a 1.0 release of Doctrine. An symfony plugin, [wiki:sfDoctrine sfDoctrinePlugin], is available. 
    45  
    46 == Load Balancing == 
    47  
    48 === Load Balancers === 
    49  
    50  * [http://www.danga.com/perlbal/ Perlbal] - Free and open source. Used in production on several popular sites. 
    51  
    52  
    53 == File Storage and Distribution == 
    54  
    55 === Storage Solutions === 
    56  
    57  * [http://www.danga.com/mogilefs/ MogileFS] - Free and open source. Used in production on several popular sites. Negates the need for RAID. MogileFS is an anagram for "OMG Files". Used in conjunction with [http://www.danga.com/perlbal/ Perlbal]. You can expect a symfony plugin for MogileFS in the near future. 
    58  
    59  * [http://www.amazon.com/gp/browse.html?node=16427261 Amazon Simple Storage Service (Amazon S3)] - No startup cost. No hardware costs. You pay a monthly fee for 1) storage space used, and 2) data transferred 
    60  
    61  
    62 == Page Rendering == 
    63  
    64 === Cached Pages === 
    65  
    66 === Compression === 
    67  
    68 === Tidy === 
    69  
    70 == Benchmarking == 
    71  
    72 == Tools == 
    73  
    74   * [http://httpd.apache.org/docs/2.2/programs/ab.html ApacheBench] (ab)  
    75   * [http://jakarta.apache.org/jmeter/ Apache JMeter]  
    76   *  
    77  
    78 == Books == 
    79   * [http://www.amazon.com/Building-Scalable-Web-Sites-Applications/dp/0596102356 Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications, by Cal Henderson (Flickr.com)] 
    80  
    81 == Links == 
    82   * Symfony Askeet! Tutorial Day 19 - [http://www.symfony-project.com/askeet/19 Performance and cache] 
     1Moved to [wiki:Optimization]