• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
 

DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)

on

  • 2,730 views

Dutch PHP Conference 2007

Dutch PHP Conference 2007

Statistics

Views

Total Views
2,730
Views on SlideShare
2,711
Embed Views
19

Actions

Likes
0
Downloads
39
Comments
0

2 Embeds 19

http://www.phpconference.nl 17
https://react.parse.nl 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf) DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf) Presentation Transcript

    • Sander van de Graaf IDG Nederland
    • Web 2.0
    • Topics • Webwereld / Zoom • Bottlenecks • PHP • MySQL • Apache • Caching • Vragen
    • Webwereld / Zoom
    • Webwereld • 4,5 miljoen pageviews per maand Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld • 4,5 miljoen pageviews per maand • 99% dynamisch Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld • 4,5 miljoen pageviews per maand • 99% dynamisch • Virtualhost Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld • 4,5 miljoen pageviews per maand • 99% dynamisch • Virtualhost • PHP 4 Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld • 4,5 miljoen pageviews per maand • 99% dynamisch • Virtualhost • PHP 4 • scripts Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld • 4,5 miljoen pageviews per maand • 99% dynamisch • Virtualhost • PHP 4 • scripts • Smarty Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews • 100% dynamisch Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews • 100% dynamisch • 2 webservers Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews • 100% dynamisch • 2 webservers • 3,8TB data Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews • 100% dynamisch • 2 webservers • 3,8TB data • ImageMagick ipv GD Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Zoom.nl • 5+ miljoen pageviews • 100% dynamisch • 2 webservers • 3,8TB data • ImageMagick ipv GD • Smarty Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Bottlenecks
    • Bottlenecks • Applicatie • Database • NAS Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • PHP
    • PHP • Optimalisaties • APD • Intermediate Code Caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties for($foo=0;$foo<count($bar);$foo++) { // do something } Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties $barCount = count($bar); for($foo=0;$foo<$barCount;++$foo) { // do something } Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • APD PProf Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • APD apd_set_pprof_trace(); Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Intermediate code caching • eAccelerator • Zend Optimizer • APC Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • MySQL
    • MySQL • Background • Optimalisaties Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Background • MySQL 4.1.10 • 2 database servers • MyISAM Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • ORDER BY RAND() SELECT * FROM images ORDER BY RAND() LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • ORDER BY RAND() SELECT * FROM images WHERE id IN (1243,34234,2341,135465,123,653); Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • WHERE 1 SELECT * FROM images WHERE 1 ORDER BY id DESC LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • WHERE 1 SELECT * FROM images ORDER BY id DESC LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Force Index SELECT * FROM images FORCE INDEX(user_id) WHERE user_id = “12” ORDER BY created_on DESC LIMIT 10 Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • EXPLAIN SELECT * FROM images LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • EXPLAIN SELECT * FROM images LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • EXPLAIN SELECT I.* FROM images I, zoom_profile.users U WHERE I.user_id = U.id AND I.user_id = 1244 LIMIT 10; Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types • Table optimalisaties Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types • Table optimalisaties • PROCESSLIST Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types • Table optimalisaties • PROCESSLIST • MTOP Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types • Table optimalisaties • PROCESSLIST • MTOP • SLOW Query Log Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Optimalisaties • Valkuilen • Indexes • EXPLAIN • Connection types • Table optimalisaties • PROCESSLIST • MTOP • SLOW Query Log • Webwereld / Zoom De-normalisatie Bottlenecks PHP MySQL Apache Caching Vragen
    • Apache
    • Apache • Apache 2.0 • htaccess • mod_expires Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • .htaccess RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} ^.*public_images.*$ RewriteRule ^public_images/([0-9]*)/([0-9]*)/(.*)$ /do_some_magic_stuff.php?user_id=$1&width=$2&filename=$ Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • .htaccess RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} ^.*public_images.*$ RewriteRule ^public_images/([0-9]*)/([0-9]*)/(.*)$ /do_some_magic_stuff.php?user_id=$1&width=$2&filename=$ Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • mod_expires <IfModule mod_expires.c> ExpiresActive ON ExpiresByType image/gif quot;now plus 1 weekquot; ExpiresByType image/png quot;now plus 1 weekquot; ExpiresByType image/jpeg quot;now plus 1 weekquot; ExpiresByType text/css quot;now plus 15 minutequot; ExpiresByType application/x-javascript quot;now plus 15 minquot; ExpiresDefault quot;nowquot; Webwereld / Zoom </IfModule> Bottlenecks PHP MySQL Apache Caching Vragen
    • Caching
    • Caching • (intermediate) Code Caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Caching • (intermediate) Code Caching • Page caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Caching • (intermediate) Code Caching • Page caching • Fragment caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Caching • (intermediate) Code Caching • Page caching • Fragment caching • Object caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Caching • (intermediate) Code Caching • Page caching • Fragment caching • Object caching • Content caching Webwereld / Zoom Bottlenecks PHP MySQL Apache Caching Vragen
    • Vragen?