Fotis alexandrou   scalability on php - media camp 2010
Upcoming SlideShare
Loading in...5
×
 

Fotis alexandrou scalability on php - media camp 2010

on

  • 1,086 views

 

Statistics

Views

Total Views
1,086
Views on SlideShare
1,027
Embed Views
59

Actions

Likes
1
Downloads
2
Comments
0

5 Embeds 59

http://fotis.posterous.com 46
http://www.linkedin.com 8
https://www.linkedin.com 2
http://falexandrou.com 2
http://www.redmark.gr 1

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

Fotis alexandrou   scalability on php - media camp 2010 Fotis alexandrou scalability on php - media camp 2010 Presentation Transcript

  • PHP Op&miza&on & Scalability  Techniques  Fo&s Alexandrou  Web Developer  (e‐skafos.gr, iheartshops.com & many more)  Disclaimer: Highly Technical Presenta&on, might cause brain  injuries  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • When is op&miza&on needed  •  Web Applica&ons  •  Websites with lots of traffic  – E‐Skafos case study  •  Websites that are promising high traffic  – iHeartShops case study  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Easy Stuff  •  Opcode Caching – Boot and forget – Pre‐ compiled code loaded in memory (runs a lot  faster)  – APC   – Xcache  •  Pecl Extensions  •  Minimum Configura&on  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Advanced Stuff ‐ Memcache  •  Storage engine using keys  •  Re‐seXng aYer data update  •  Memcache became really popular aYer  Facebook started using it  •  Cheat: Write a class that extends it ;)  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Advanced Stuff – Code Tweaks  •  “echo“ func&on faster than print  •  Single quotes (‘) faster than double quotes (“)  •  Using short tags “<?” is more expensive than  “<?php”  •  The shut up equator (@)   •  Leave Magic to David Coperfield (__get(),  __set(), __autoload())  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Code Tweaks – String replacement  •  str_replace faster than preg_replace (not  always)  – str_replace faster for templa&ng  – preg_replace faster for large data sets  •  str_replace($array1, $array2, $subject) a lot  faster than loops  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Code Tweaks – String replacement  (preg_replace vs str_replace)  •  Data sets              Templa&ng  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Code Tweaking ‐ Loops  •  NEVER use func&ons inside a for – they’re  called upon each loop!  •  Bad:  for ($i = 0; $i<count($array); $i++){  …….  }  •  Good:  $count = count($array) //Called once  for ($i = 0; $i<$count; $i++){  …….  }  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Code Tweaks – Constants &  Sta&c  •  Constants are your friends  $foo = array(‘bar’=>0);  $foo[‘bar’] = 1;  Is 700% slower than  $foo[‘bar’] = 1;  •  Sta&cs are also your friends  – Declaring sta&c func&ons is 4 &mes faster!  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Code Tweaks – Proper coding  •  Go with the flow:  – Ini&alize your variables  – Use singleton classes  – Study SQL & avoid PHP juggling when SQL can do  the hard work  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Use a second web server for sta&c  stuff  •  Install a second web server on second IP (eg.  Ligh{pd) and replace images, css, js, mov, flv  paths  •  Avoid main webserver overhead  •  Tune up your main web server  •  Use mod_compress on ligh{pd  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • SQL op&miza&on  •  Replica&on  – Use master server for inserts, updates, deletes  – Use slave server for selects  •  Use memcache for database stuff (selects or  stored procedures)  •  Mul&ple Databases  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Deploy to the Cloud  •  Windows Azure  – Available on Monday 12/4/10 (for Greece)  – Programmer != Sysadmin  – Add instances easily  •  Amazon EC2  – You need an experienced administrator  •  Other par&es  •  Cheaters (Selling dedicated servers as cloud)  Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr 
  • Thank you!  •  Ques&ons  •  Contact Informa&on  – fo&s@redmark.gr  – twi{er.com/falexandrou  – facebook.com/falexandrou  – www.redmark.gr ‐ www.e‐skafos.gr ‐  www.iheartshops.com  ‐ Thnx to @HumanWorks for the &ps    Fo&s Alexandrou ‐ @falexandrou ‐  www.redmark.gr