SlideShare a Scribd company logo
1 of 63
Download to read offline
EAST BAY WORDPRESS MEETUP

HOW TO MAKE WP FLY...
LIKE A BAT OUT OF HELL

Sunday, October 6, 13
EXPLAINING
THE SECRETS
BEHIND MANAGED
HOSTING AND REALLY
FAST WORDPRESS SITES

THE ALTERNATIVE TITLE
I could have renamed this presentation
Sunday, October 6, 13
Stefan Didak
http://www.stefandidak.com
(ā€œnot a web developerā€)
Sunday, October 6, 13
The sound a WordPress site
should make when your client is
happy to pay you more because
their site is so fast that it puts
their competition to shame.

TIME = MONEY
Sunday, October 6, 13
Caching provided by optimizing your site
Caching through plugins
Caching because of all of the above
As youā€™ve already been shown today

LEVELS OF CACHING
all of those make a difference but... NOT ENOUGH
Sunday, October 6, 13
Donā€™t just optimize your site
Optimize YOUR SERVER!
and if you have none, build one!
Optimize YOUR CODE TOO!

LEVELS OF CACHING
Everything Iā€™m going to show today requires you to have full
control and access to your server (VM, VPS, Cloud, etc.)
Sunday, October 6, 13
WordPress Caching
Digital Ocean + DEMO
OpCode Caching
Apache v.s. Nginx
Varnish
Memcached
WHAT Iā€™LL BE COVERING
Also known as the Tip of the Iceberg
Sunday, October 6, 13
WP CACHING OVERVIEW
Everyone should know what levels of caching WP supports
Sunday, October 6, 13
Only lasts the duration of the request.
After the request the run-time cache no
longer exists.
For example: the global $post and
$wp_query variables

WORDPRESS CACHING
Run-Time Cache
Sunday, October 6, 13
WordPress has a ā€œTransient Cacheā€ API
that allows you to store data in
your MySQL DB.
Ahum... Right...
But it can still be useful...
if used selectively

WORDPRESS CACHING
Transient Cache
Sunday, October 6, 13
Is usually persistent because itā€™s stored
ā€œsomewhereā€.
Somewhere could be in memory through
APC, Memcached, or Redis, but could also
be in your MySQL DB or on disk.

WORDPRESS CACHING
Object Cache
Sunday, October 6, 13
Stores HTML data representing entire
pages. This is one of the more typical
caching schemes used by most plugins.
Unfortunately, not so useful when you have
highly dynamic pages where someone does
not always get the same content (i.e.
membership sites).

WORDPRESS CACHING
Page Cache - Stored on disk or in memory
Sunday, October 6, 13
I donā€™t like the term and it is no different
from the Object Cache. Instead of storing
entire HTML pages it stores parts of pages.
I like to think of it as just another object
because thatā€™s what it is.

WORDPRESS CACHING
Fragment Cache
Sunday, October 6, 13
I prefer to have full control
over my own online servers
because I can have them be
faster than managed hosting
at a fraction of the cost.

PERSONAL EXPERIENCE
Managed Hosting, however optimized, is still designed to be a
version of a ā€œone size ļ¬ts allā€ approach
Sunday, October 6, 13
GREAT(ER) PERFORMANCE
& OK PRICES
GREAT PERFORMANCE
& COOL PRICES

SLOW & EXPENSIVE

Sunday, October 6, 13

NICE PERFORMANCE
& CAN GET EXPENSIVE
After running and testing my ļ¬rst
ā€œdropletā€ on Digital Ocean and after
playing with some deployments on
Linode I knew my shared hosting for
30+ domains would come to an end.
A very WELCOME END!

FIRST DEPLOYMENT
It was really exciting to see my ļ¬rst droplet come online
Sunday, October 6, 13
If you donā€™t care much
about the ā€œmanagedā€ part
of managed hosting and
really want things to roar
like a bat out of hell...

HOSTING, BUT WHERE
The long search has come to an end
Sunday, October 6, 13
Once my ā€œstealth projectā€ goes live I
expect that within 2 years I will need
around 150 to 500 virtual servers.
(virtual servers of various capacities)
Digital Ocean has the absolute best
price point Iā€™ve seen. And Iā€™ve been
looking. Really looking.

STEALTH PROJECT
Not to mention, Digital Ocean has a nice evolving API to
manage all your ā€œdropletsā€. Not as mature as Linode, though!
Sunday, October 6, 13
$20/mo shared hosting
v.s.
$5/mo Digital Ocean Droplet
Oakley Chamber of Commerce
WordPress site
(a heavy and NOT OPTIMIZED one!)

DEMO TIME ! DEMO TIME !
If this doesnā€™t convince you I donā€™t know what will
Sunday, October 6, 13
http://oakleychamber.com
http://oc.ignyter.com

TRY IT FOR YOURSELF
anyone with laptops here are encouraged to check it out
Sunday, October 6, 13
WAS THAT FAST
OR WAS THAT FAST?
Or is it just cool to know
that you can do it TOO!?

YES YOU CAN
Stop whining about the commandline and typing on the
keyboard, as if you donā€™t do that crap when youā€™re CSSā€™ing!!!
Sunday, October 6, 13
I canā€™t show you managed
hosting vs. Digital Ocean at
a $25-30/month vs. $5-10/
month price point...

BUT....
Sunday, October 6, 13
I will take any bet, for any amount of
serious money, that I can setup and
conļ¬gure servers on Digital Ocean or
Linode that beat the living daylights
out of any managed hosting in terms
of performance.
And YOU can do it TOO!
So letā€™s not even talk about
shared hosting anymore, ok?
Sunday, October 6, 13
I know what Iā€™m doing and...
may be biased.
I do, however, believe, that if you put
in some time to learn more than what
you copy & paste will serve you to be
even more valuable to your clients!

COPY AND PASTE
If you canā€™t do copy and paste then Iā€™m wasting your time and I
am very sorry. If you can, however... new doors will open!
Sunday, October 6, 13
https://www.digitalocean.com/community
https://library.linode.com/
TUTORIALS, GUIDES, AND MORE

INSTALLING AND RUNNING
On how to install, conļ¬gure, and run with all the things I
mentioned today, visit the libraries.
Sunday, October 6, 13
OPCODE CACHING
And now to explain what youā€™ve just seen
Sunday, October 6, 13
What your server does for EVERY page hit
on your site:
Read most (or all) of your PHP ļ¬les/code
Interpret each line & ā€œcompileā€ it into what
the CPU understands
Execute the ā€œcompiledā€ code and render out the
page by sending it to the browser.

OPCODE CACHING
Yeah, uh, sure, what what does it DO?!
Sunday, October 6, 13
What your server does for EVERY page hit
on your site:
Read most (or all) of your PHP ļ¬les/code
Interpret each line & ā€œcompileā€ it into what
the CPU understands
Execute the ā€œcompiledā€ code and render out the
page by sending it to the browser.

OPCODE CACHING
Yeah, uh, sure, what what does it DO?!
Sunday, October 6, 13
WITHOUT OPCODE CACHING
PHP

PARSE

PHP

APC
CACHE

COMPILE

EXECUTE

SEND

EXECUTE

SEND

WITH OPCODE CACHING

OPCODE CACHING
The simple explanation
Sunday, October 6, 13
APC
XCache
eAccelerator
Zend OpCache
NuSphere PHPExpress
IonCube Accelerator

OPCODE CACHING
Speeds up your site much more than ā€œregularā€ ļ¬le/data caching
Sunday, October 6, 13
Because APC is going to
be included in ā€œPHP6ā€
But as we all know, there is no such thing as PHP6, right?
There is a book on PHP6.
But there is no Beta of PHP6.
There isnā€™t even an Alpha of PHP6.

BUT PHP 5.5 HAS OPCACHE
Performance between APC, XCache, etc. is all very similar
Sunday, October 6, 13
PHP APC
APC = Alternative PHP Cache
Sunday, October 6, 13
Without APC

With ā€œvanillaā€ APC

Req. Per Sec : 85
Time Per Req. : 900ms
Conc. Time Per Req. : 20ms
Xfer Rate : 898 Kbytes/s

Req. Per Sec : 138.5
Time Per Req. : 476ms
Conc. Time Per Req. : 9.5ms
Xfer Rate : 1265 Kbytes/s

Great, but...
IS THAT ALL?

BENCHMARKING APC
Your site without APC sucks donkey balls
Sunday, October 6, 13
Without APC

With ā€œvanillaā€ APC

Req. Per Sec : 85
Time Per Req. : 900ms
Conc. Time Per Req. : 20ms
Xfer Rate : 898 Kbytes/s

Req. Per Sec : 138.5
Time Per Req. : 476ms
Conc. Time Per Req. : 9.5ms
Xfer Rate : 1265 Kbytes/s

Now with apc.stat=off
Req. Per Sec : 317.4
Time Per Req. : 152.1ms
Conc. Time Per Req. : 3.1ms
Xfer Rate : 3985 Kbytes/s

BENCHMARKING APC
Your site with APC and apc.stat = off WILL FLY!
Sunday, October 6, 13
Only turn APC.STAT to OFF if:
Your PHP code on the server does not
change and you are willing to restart
the web server if it does.
WP or Plugin updates =
CHANGE OF PHP CODE

APC.STAT = OFF
THINK AND PLAN BEFORE YOU TURN IT OFF
Sunday, October 6, 13
# /etc/init.d/apache2 restart
Itā€™s just one line. Maybe not exactly
the same as this one, though.
And itā€™s only for a few seconds.

RESTARTING? SO WHAT?
There are other ways to deal with this but those are for
another time when we get real deep into server stuff
Sunday, October 6, 13
Ensure your server has:
php-pear, php5-dev, make, apache2-prefork-dev

# pecl install apc
Then add the extension to your php.ini (or other)

extension=apc.so

INSTALLING APC
Because it might be different for your ļ¬‚avor of server Iā€™m not
going into too much detail here, but itā€™s dead easy
Sunday, October 6, 13
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128M (or 1G, etc.)
apc.ttl=3600
apc.user_ttl=7200
apc.gc_ttl=3600
apc.max_file_size=1M
apc.stat=1 (or 0)

CONFIGURING APC
You should tweak it as much as needed
And thereā€™s a lot more you can tweak in APC
Sunday, October 6, 13
With APC installed you can use PHP
function calls to...
Manage the APC cache
Interrogate the APC cache
Load/Dump Binary cache data
START OPTIMIZING YOUR CODE
Integrate it selectively in your plugins

WORTH KNOWING
APC will also extend PHP with new functions
Sunday, October 6, 13
APC Object Cache Backend
http://wordpress.org/plugins/apc/
Place the object-cache.php
in your wp-content directory.
Optionally you can also install the
BATCACHE plugin

APC WITH A WP PLUGIN
Your mileage may vary
Sunday, October 6, 13
Apache = Process Based
Nginx = Event Based

APACHE V.S. NGINX
Because you might get a lot of visitors... all at the same time!
Sunday, October 6, 13
Asynchronous
Asynchronous = Scalability
Fewer Server Resources
(i.e. much less memory)
Better for heavy load sites

A FEW ADVANTAGES
On sites with light trafļ¬c you will not see much difference in
performance between event vs. processed based servers
Sunday, October 6, 13
10.000 concurrent connections
and Nginx still uses only a few MB of
memory
Apache... 100ā€™s of MBā€™s
And often will not even handle the load.

ALSO A COST DIFFERENCE
Part of the cost of virtual servers is the amount of memory that
is available. Disk space is not as important as memory.
Sunday, October 6, 13
Back in 2008...
8000 live trafļ¬c requests per second
Apache would have fallen over
and DIED

WORDPRESS.COM
Big servers and big sites prefer Nginx... and now you know why
Sunday, October 6, 13
15MB of RAM and
10% of CPU resources
Apache and a pound load balancer
would freak out at the 1000th
process, using 400+MB RAM and
ā€œleakingā€ 20MB RAM per hour

GAME OVER
Big servers and big sites prefer Nginx... and now you know why
Sunday, October 6, 13
WP development is ā€œintertwinedā€
with the Apache world.
Support is ā€œlimited but growingā€.

http://codex.wordpress.org/Nginx
http://wiki.nginx.org/WordPress

WORDPRESS & NGINX
Not quite a match made in heaven
Youā€™ll have to do some marriage counseling
Sunday, October 6, 13
Nginx has no conceptual notion of
this thing called an .htaccess ļ¬le
http://wordpress.org/plugins/nginx-helper/

Search for Nginx related WP plugins

WORDPRESS & NGINX
WHERE THE HECK DID MY .HTACCESS FILE GO?!
Sunday, October 6, 13
Caching HTTP Reverse Proxy
Proxy Servers are not just ā€œthe thing you set in your browserā€
Sunday, October 6, 13
BROWSER

BROWSER

PROXY
SERVER

VARNISH

WEBSITE

WEBSITE

With Varnish YOU control the caching
(because not everyone uses a proxy)

VARNISH
And it really is... really really, really, REALLY FAST!
Sunday, October 6, 13
Cache on Disk
Cache in Memory
Control through VCL
(Varnish Cache Language)
VARNISH
You control the proxy and you control the resources
Sunday, October 6, 13
VARNISH
PORT 80

APACHE OR NGINX
PORT 8080

http://mysite.com

http://mysite.com:8080

Varnish points to a ā€œbackendā€ server
which happens to be itself but with
the web server on a different port

VARNISH SAME SERVER
Change the web server port to something else because
Varnish should respond on port 80
Sunday, October 6, 13
VARNISH
PORT 80

APACHE OR NGINX
PORT 8080

http://mysite.com
http://somesite.com
http://wowy.com
http://admin.com

http://mysite.com:8080
http://wowy.com:8080
APACHE OR NGINX
PORT 8081
http://somesite.com:8081
http://admin.com:8081

VARNISH DIFFERENT SERVERS
You can do the setup in whatever way you like
Sunday, October 6, 13
# Drop any cookies sent to Wordpress.
sub vcl_recv {
! if (!(req.url ~ "wp-(login|admin)")) {
! ! unset req.http.cookie;
! }
}
# Drop any cookies Wordpress
# tries to send back to the client.
sub vcl_fetch {
! if (!(req.url ~ "wp-(login|admin)")) {
! ! unset beresp.http.set-cookie;
! }
}

WP AND VARNISH
BEWARE OF COOKIES
Sunday, October 6, 13
MEMCACHED
The name of the game is ā€œDISTRIBUTEDā€
Sunday, October 6, 13
The ā€œfor dummiesā€ version:
Make better use of memory
Cache data in memory on
other servers that arenā€™t
using it as much.

AND IT DOES WHAT?
It manages cache and memory... for more than one server
Sunday, October 6, 13
DISTRIBUTED, I SAID
The more the merrier
Sunday, October 6, 13
System interconnects on servers
(depending on how you plan and set
them up) can still get more
performance over TCP/IP and
memory than a local server faced
with only its limited resources.
More servers = more memcached

WORDPRESS.COM
Yes, wordpress.com uses memcached. As do Twitter, Flickr,
Wikipedia, Craigslist, YouTube, and many others
Sunday, October 6, 13
$mc = new Memcache;
$mc->connect(ā€˜10.0.1.20ā€™, 11211);
$data = ā€œcache this!ā€;
$mc->set(ā€˜mydataā€™, $data, false, 100);
$result = $mc->get(ā€˜mydataā€™);

MEMCACHED PHP
When installed Memcached will provide you a lot of PHP
functionality to have full control over your caching
Sunday, October 6, 13
BATCACHE
http://wordpress.org/plugins/batcache/

Place the advanced-cache.php
in your wp-content directory

ā€œMEMCACHED PLUGINā€
Your mileage may vary
Sunday, October 6, 13
Single Malt Scotch
Hi Stefan!

Bourbon
Hi Mitch!

Tequila
Hi Kelly!

Beer
Hi Andrei!

LIFE IN THE SLOW LANE
If all this server and site performance is getting to you! :-)
Sunday, October 6, 13
http://eastbaywp.com/
http://www.stefandidak.com

DOWNLOAD THE SLIDES
Because this MAY have gone WAY too FAST for you!
Sunday, October 6, 13
Digital Ocean
https://www.digitalocean.com/

Redis
http://redis.io/

Linode
https://www.linode.com/

Memcached
http://memcached.org/

Rackspace
http://www.rackspace.com/

WordPress Batcache
http://wordpress.org/plugins/batcache/

Amazon VPC
http://aws.amazon.com/vpc/

WordPress APC Object Backend
http://wordpress.org/plugins/apc/

APC
http://php.net/manual/en/book.apc.php
XCache
http://xcache.lighttpd.net/

And ļ¬nally, a ā€œreal developerā€™sā€ home ofļ¬ce
because everyone keeps asking... :-)
http://www.stefandidak.com/ofļ¬ce/
http://www.ļ¬‚ickr.com/photos/didak/sets/72157633152434208/

eAccelerator
http://eaccelerator.net/

http://www.ļ¬‚ickr.com/photos/didak/sets/72157632343719954/

Zend OpCache/Optimizer/Platform
http://en.wikipedia.org/wiki/Zend_Technologies

http://www.ļ¬‚ickr.com/photos/didak/sets/72157632244753177/

Nginx
http://nginx.org/
Varnish
https://www.varnish-cache.org/

THINGS MENTIONED
In case you want to go look stuff up for yourself
Sunday, October 6, 13
QUESTIONS
Because Iā€™m sure thereā€™ll be some!
Sunday, October 6, 13

More Related Content

What's hot

Word press workflows and gulp
Word press workflows and gulpWord press workflows and gulp
Word press workflows and gulpEli McMakin
Ā 
Tutorial sederhana netbeans & xampp
Tutorial sederhana netbeans & xamppTutorial sederhana netbeans & xampp
Tutorial sederhana netbeans & xamppLailani Fitria
Ā 
Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentationCharles Johnson
Ā 
Speed Up That Site! - a guide to caching plugins
Speed Up That Site! - a guide to caching pluginsSpeed Up That Site! - a guide to caching plugins
Speed Up That Site! - a guide to caching pluginsPeter Baylies
Ā 
Performance and optimization
Performance and optimizationPerformance and optimization
Performance and optimizationmarkstory
Ā 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wpMark Kelnar
Ā 
Surviving Slashdot
Surviving SlashdotSurviving Slashdot
Surviving Slashdotjohnbuckman
Ā 
Introduction To Programming in GNU-LINUX
Introduction To Programming in GNU-LINUXIntroduction To Programming in GNU-LINUX
Introduction To Programming in GNU-LINUXIrfan Ahmed
Ā 
T3DD11 - Scaleable TYPO3 Hosting
T3DD11 - Scaleable TYPO3 HostingT3DD11 - Scaleable TYPO3 Hosting
T3DD11 - Scaleable TYPO3 Hostingperlsec
Ā 
Scaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesScaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesJonathan Klein
Ā 
Local development with vvv jon trujillo
Local development with vvv   jon trujilloLocal development with vvv   jon trujillo
Local development with vvv jon trujilloJonathan Trujillo
Ā 
A crash course in scaling wordpress
A crash course inscaling wordpress A crash course inscaling wordpress
A crash course in scaling wordpress GovLoop
Ā 
Creating Local WordPress Installs
Creating Local WordPress InstallsCreating Local WordPress Installs
Creating Local WordPress Installsmcgaritydotme
Ā 
Road to cloud hero
Road to cloud heroRoad to cloud hero
Road to cloud heroWilliam Chong
Ā 
Coffeescript: An Opinionated Introduction
Coffeescript: An Opinionated IntroductionCoffeescript: An Opinionated Introduction
Coffeescript: An Opinionated IntroductionJoe Fleming
Ā 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesCal Henderson
Ā 
PHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPPHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPJonathan Klein
Ā 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineShawn Hooper
Ā 
Leeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website SpeedLeeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website SpeedArlen Nagata
Ā 

What's hot (20)

Word press workflows and gulp
Word press workflows and gulpWord press workflows and gulp
Word press workflows and gulp
Ā 
Tutorial sederhana netbeans & xampp
Tutorial sederhana netbeans & xamppTutorial sederhana netbeans & xampp
Tutorial sederhana netbeans & xampp
Ā 
Chef meetup presentation
Chef meetup presentationChef meetup presentation
Chef meetup presentation
Ā 
Speed Up That Site! - a guide to caching plugins
Speed Up That Site! - a guide to caching pluginsSpeed Up That Site! - a guide to caching plugins
Speed Up That Site! - a guide to caching plugins
Ā 
Performance and optimization
Performance and optimizationPerformance and optimization
Performance and optimization
Ā 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
Ā 
Surviving Slashdot
Surviving SlashdotSurviving Slashdot
Surviving Slashdot
Ā 
Introduction To Programming in GNU-LINUX
Introduction To Programming in GNU-LINUXIntroduction To Programming in GNU-LINUX
Introduction To Programming in GNU-LINUX
Ā 
T3DD11 - Scaleable TYPO3 Hosting
T3DD11 - Scaleable TYPO3 HostingT3DD11 - Scaleable TYPO3 Hosting
T3DD11 - Scaleable TYPO3 Hosting
Ā 
Scaling PHP to 40 Million Uniques
Scaling PHP to 40 Million UniquesScaling PHP to 40 Million Uniques
Scaling PHP to 40 Million Uniques
Ā 
Local development with vvv jon trujillo
Local development with vvv   jon trujilloLocal development with vvv   jon trujillo
Local development with vvv jon trujillo
Ā 
A crash course in scaling wordpress
A crash course inscaling wordpress A crash course inscaling wordpress
A crash course in scaling wordpress
Ā 
Creating Local WordPress Installs
Creating Local WordPress InstallsCreating Local WordPress Installs
Creating Local WordPress Installs
Ā 
Road to cloud hero
Road to cloud heroRoad to cloud hero
Road to cloud hero
Ā 
Coffeescript: An Opinionated Introduction
Coffeescript: An Opinionated IntroductionCoffeescript: An Opinionated Introduction
Coffeescript: An Opinionated Introduction
Ā 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
Ā 
PHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHPPHPDay 2013 - High Performance PHP
PHPDay 2013 - High Performance PHP
Ā 
Save Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command LineSave Time by Managing WordPress from the Command Line
Save Time by Managing WordPress from the Command Line
Ā 
Dev ops for developers
Dev ops for developersDev ops for developers
Dev ops for developers
Ā 
Leeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website SpeedLeeward WordPress Meetup- Caching and Website Speed
Leeward WordPress Meetup- Caching and Website Speed
Ā 

Viewers also liked

How to Tweet
How to TweetHow to Tweet
How to Tweethsusbtdc
Ā 
What Developers Need Designers to Know about WordPress
What Developers Need Designers to Know about WordPressWhat Developers Need Designers to Know about WordPress
What Developers Need Designers to Know about WordPressEast Bay WordPress Meetup
Ā 
Global Paediatric Studiesā€“A CRO perspective
Global Paediatric Studiesā€“A CRO perspectiveGlobal Paediatric Studiesā€“A CRO perspective
Global Paediatric Studiesā€“A CRO perspectivejbarag
Ā 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakEast Bay WordPress Meetup
Ā 

Viewers also liked (8)

Wellington may 10
Wellington may 10Wellington may 10
Wellington may 10
Ā 
Unitech Mt Albert 28 april 2010
Unitech Mt Albert  28 april 2010Unitech Mt Albert  28 april 2010
Unitech Mt Albert 28 april 2010
Ā 
How to Tweet
How to TweetHow to Tweet
How to Tweet
Ā 
Queenstown Nov 2010
Queenstown Nov 2010Queenstown Nov 2010
Queenstown Nov 2010
Ā 
Table
TableTable
Table
Ā 
What Developers Need Designers to Know about WordPress
What Developers Need Designers to Know about WordPressWhat Developers Need Designers to Know about WordPress
What Developers Need Designers to Know about WordPress
Ā 
Global Paediatric Studiesā€“A CRO perspective
Global Paediatric Studiesā€“A CRO perspectiveGlobal Paediatric Studiesā€“A CRO perspective
Global Paediatric Studiesā€“A CRO perspective
Ā 
Real Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan DidakReal Developer Tools for WordPress by Stefan Didak
Real Developer Tools for WordPress by Stefan Didak
Ā 

Similar to Making WordPress Fly

Cache Rules Everything Around Me
Cache Rules Everything Around MeCache Rules Everything Around Me
Cache Rules Everything Around MeRussell Heimlich
Ā 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on awsEmanuel Calvo
Ā 
Consideration for Building a Private Cloud
Consideration for Building a Private CloudConsideration for Building a Private Cloud
Consideration for Building a Private CloudOpenStack Foundation
Ā 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeKen Tabor
Ā 
Technology tips to ceo & architect
Technology tips to ceo & architectTechnology tips to ceo & architect
Technology tips to ceo & architectAnandkumar R
Ā 
Award-winning technology: Oxid loves the query cache
Award-winning technology: Oxid loves the query cacheAward-winning technology: Oxid loves the query cache
Award-winning technology: Oxid loves the query cacheUlf Wendel
Ā 
Performance and Scalability
Performance and ScalabilityPerformance and Scalability
Performance and ScalabilityMediacurrent
Ā 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011Mike Willbanks
Ā 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails FinalRobert Postill
Ā 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
Ā 
Scalable Web Arch
Scalable Web ArchScalable Web Arch
Scalable Web Archroyans
Ā 
HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011Alessandro Nadalin
Ā 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraVolha Banadyseva
Ā 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backupsnicholaspaun
Ā 
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariJoseph Scott
Ā 
Cache all the things #DCLondon
Cache all the things #DCLondonCache all the things #DCLondon
Cache all the things #DCLondondigital006
Ā 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz StrikeDenis Zhdanov
Ā 
JS digest. July 2018
JS digest.  July 2018JS digest.  July 2018
JS digest. July 2018ElifTech
Ā 
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014gethue
Ā 

Similar to Making WordPress Fly (20)

Cache Rules Everything Around Me
Cache Rules Everything Around MeCache Rules Everything Around Me
Cache Rules Everything Around Me
Ā 
Pgbr 2013 postgres on aws
Pgbr 2013   postgres on awsPgbr 2013   postgres on aws
Pgbr 2013 postgres on aws
Ā 
Consideration for Building a Private Cloud
Consideration for Building a Private CloudConsideration for Building a Private Cloud
Consideration for Building a Private Cloud
Ā 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
Ā 
Technology tips to ceo & architect
Technology tips to ceo & architectTechnology tips to ceo & architect
Technology tips to ceo & architect
Ā 
Award-winning technology: Oxid loves the query cache
Award-winning technology: Oxid loves the query cacheAward-winning technology: Oxid loves the query cache
Award-winning technology: Oxid loves the query cache
Ā 
Performance and Scalability
Performance and ScalabilityPerformance and Scalability
Performance and Scalability
Ā 
MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011MNPHP Scalable Architecture 101 - Feb 3 2011
MNPHP Scalable Architecture 101 - Feb 3 2011
Ā 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
Ā 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
Ā 
Scalable Web Arch
Scalable Web ArchScalable Web Arch
Scalable Web Arch
Ā 
Cors michael
Cors michaelCors michael
Cors michael
Ā 
HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011
Ā 
Tadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to CassandraTadas Pivorius. Married to Cassandra
Tadas Pivorius. Married to Cassandra
Ā 
How we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental BackupsHow we setup Rsync-powered Incremental Backups
How we setup Rsync-powered Incremental Backups
Ā 
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Ā 
Cache all the things #DCLondon
Cache all the things #DCLondonCache all the things #DCLondon
Cache all the things #DCLondon
Ā 
Triple Blitz Strike
Triple Blitz StrikeTriple Blitz Strike
Triple Blitz Strike
Ā 
JS digest. July 2018
JS digest.  July 2018JS digest.  July 2018
JS digest. July 2018
Ā 
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Ā 

More from East Bay WordPress Meetup

WordPress Membership Plugins: WP-Members
WordPress Membership Plugins: WP-MembersWordPress Membership Plugins: WP-Members
WordPress Membership Plugins: WP-MembersEast Bay WordPress Meetup
Ā 
WordPress Membership Plugins: MemberPress
WordPress Membership Plugins: MemberPress WordPress Membership Plugins: MemberPress
WordPress Membership Plugins: MemberPress East Bay WordPress Meetup
Ā 
How to Develop a Color Palette for Your Website with Amanada McCoy
How to Develop a Color Palette for Your Website with Amanada McCoyHow to Develop a Color Palette for Your Website with Amanada McCoy
How to Develop a Color Palette for Your Website with Amanada McCoyEast Bay WordPress Meetup
Ā 
Event Management Plugins for WordPress
Event Management Plugins for WordPressEvent Management Plugins for WordPress
Event Management Plugins for WordPressEast Bay WordPress Meetup
Ā 
Beyond Gravity Forms: Form Plugins for WordPress
Beyond Gravity Forms: Form Plugins for WordPressBeyond Gravity Forms: Form Plugins for WordPress
Beyond Gravity Forms: Form Plugins for WordPressEast Bay WordPress Meetup
Ā 
Is Your (Client's) Website Ready for 2017?
Is Your (Client's) Website Ready for 2017?Is Your (Client's) Website Ready for 2017?
Is Your (Client's) Website Ready for 2017?East Bay WordPress Meetup
Ā 
Git Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBargeGit Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBargeEast Bay WordPress Meetup
Ā 
Sallie Goetsch: Making the Events Calendar Sit Up and Beg
Sallie Goetsch: Making the Events Calendar Sit Up and BegSallie Goetsch: Making the Events Calendar Sit Up and Beg
Sallie Goetsch: Making the Events Calendar Sit Up and BegEast Bay WordPress Meetup
Ā 
Rob La Gatta; Making the Events Calendar Sit Up and Beg
Rob La Gatta; Making the Events Calendar Sit Up and BegRob La Gatta; Making the Events Calendar Sit Up and Beg
Rob La Gatta; Making the Events Calendar Sit Up and BegEast Bay WordPress Meetup
Ā 
Advanced Custom Fields: Amazing Possibilities and Irritating Limitations
Advanced Custom Fields: Amazing Possibilities and Irritating LimitationsAdvanced Custom Fields: Amazing Possibilities and Irritating Limitations
Advanced Custom Fields: Amazing Possibilities and Irritating LimitationsEast Bay WordPress Meetup
Ā 
Introduction to Google Analytics by Katherine Mancuso
Introduction to Google Analytics by Katherine MancusoIntroduction to Google Analytics by Katherine Mancuso
Introduction to Google Analytics by Katherine MancusoEast Bay WordPress Meetup
Ā 
iThemes Exchange: the New Kid on the WordPress E-Commerce Block
iThemes Exchange: the New Kid on the WordPress E-Commerce BlockiThemes Exchange: the New Kid on the WordPress E-Commerce Block
iThemes Exchange: the New Kid on the WordPress E-Commerce BlockEast Bay WordPress Meetup
Ā 
Running a WordPress Business--Some Numbers
Running a WordPress Business--Some NumbersRunning a WordPress Business--Some Numbers
Running a WordPress Business--Some NumbersEast Bay WordPress Meetup
Ā 
Drag-and-drop WordPress Themes, featuring Themify Builder
Drag-and-drop WordPress Themes, featuring Themify BuilderDrag-and-drop WordPress Themes, featuring Themify Builder
Drag-and-drop WordPress Themes, featuring Themify BuilderEast Bay WordPress Meetup
Ā 

More from East Bay WordPress Meetup (20)

How to Conduct an SEO Audit
How to Conduct an SEO AuditHow to Conduct an SEO Audit
How to Conduct an SEO Audit
Ā 
WordPress Membership Plugins: WP-Members
WordPress Membership Plugins: WP-MembersWordPress Membership Plugins: WP-Members
WordPress Membership Plugins: WP-Members
Ā 
WordPress Membership Plugins: MemberPress
WordPress Membership Plugins: MemberPress WordPress Membership Plugins: MemberPress
WordPress Membership Plugins: MemberPress
Ā 
How to Develop a Color Palette for Your Website with Amanada McCoy
How to Develop a Color Palette for Your Website with Amanada McCoyHow to Develop a Color Palette for Your Website with Amanada McCoy
How to Develop a Color Palette for Your Website with Amanada McCoy
Ā 
Event Management Plugins for WordPress
Event Management Plugins for WordPressEvent Management Plugins for WordPress
Event Management Plugins for WordPress
Ā 
Beyond Gravity Forms: Form Plugins for WordPress
Beyond Gravity Forms: Form Plugins for WordPressBeyond Gravity Forms: Form Plugins for WordPress
Beyond Gravity Forms: Form Plugins for WordPress
Ā 
Is Your (Client's) Website Ready for 2017?
Is Your (Client's) Website Ready for 2017?Is Your (Client's) Website Ready for 2017?
Is Your (Client's) Website Ready for 2017?
Ā 
Git Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBargeGit Version Control for the Complete N00b by Adam LaBarge
Git Version Control for the Complete N00b by Adam LaBarge
Ā 
Making WordPress Easier to Use
Making WordPress Easier to UseMaking WordPress Easier to Use
Making WordPress Easier to Use
Ā 
WordPress Comments (November Meetup)
WordPress Comments (November Meetup)WordPress Comments (November Meetup)
WordPress Comments (November Meetup)
Ā 
Sallie Goetsch: Making the Events Calendar Sit Up and Beg
Sallie Goetsch: Making the Events Calendar Sit Up and BegSallie Goetsch: Making the Events Calendar Sit Up and Beg
Sallie Goetsch: Making the Events Calendar Sit Up and Beg
Ā 
Rob La Gatta; Making the Events Calendar Sit Up and Beg
Rob La Gatta; Making the Events Calendar Sit Up and BegRob La Gatta; Making the Events Calendar Sit Up and Beg
Rob La Gatta; Making the Events Calendar Sit Up and Beg
Ā 
Advanced Custom Fields: Amazing Possibilities and Irritating Limitations
Advanced Custom Fields: Amazing Possibilities and Irritating LimitationsAdvanced Custom Fields: Amazing Possibilities and Irritating Limitations
Advanced Custom Fields: Amazing Possibilities and Irritating Limitations
Ā 
March 2015: Plugins Worth Paying For
March 2015: Plugins Worth Paying ForMarch 2015: Plugins Worth Paying For
March 2015: Plugins Worth Paying For
Ā 
Google Webmaster Tools for WordPress
Google Webmaster Tools for WordPressGoogle Webmaster Tools for WordPress
Google Webmaster Tools for WordPress
Ā 
Introduction to Google Analytics by Katherine Mancuso
Introduction to Google Analytics by Katherine MancusoIntroduction to Google Analytics by Katherine Mancuso
Introduction to Google Analytics by Katherine Mancuso
Ā 
iThemes Exchange: the New Kid on the WordPress E-Commerce Block
iThemes Exchange: the New Kid on the WordPress E-Commerce BlockiThemes Exchange: the New Kid on the WordPress E-Commerce Block
iThemes Exchange: the New Kid on the WordPress E-Commerce Block
Ā 
Running a WordPress Business--Some Numbers
Running a WordPress Business--Some NumbersRunning a WordPress Business--Some Numbers
Running a WordPress Business--Some Numbers
Ā 
Drag-and-drop WordPress Themes, featuring Themify Builder
Drag-and-drop WordPress Themes, featuring Themify BuilderDrag-and-drop WordPress Themes, featuring Themify Builder
Drag-and-drop WordPress Themes, featuring Themify Builder
Ā 
Drag and-Drop WordPress Themes
Drag and-Drop WordPress ThemesDrag and-Drop WordPress Themes
Drag and-Drop WordPress Themes
Ā 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
Ā 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
Ā 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Ā 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Ā 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Ā 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Ā 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Ā 

Making WordPress Fly

  • 1. EAST BAY WORDPRESS MEETUP HOW TO MAKE WP FLY... LIKE A BAT OUT OF HELL Sunday, October 6, 13
  • 2. EXPLAINING THE SECRETS BEHIND MANAGED HOSTING AND REALLY FAST WORDPRESS SITES THE ALTERNATIVE TITLE I could have renamed this presentation Sunday, October 6, 13
  • 3. Stefan Didak http://www.stefandidak.com (ā€œnot a web developerā€) Sunday, October 6, 13
  • 4. The sound a WordPress site should make when your client is happy to pay you more because their site is so fast that it puts their competition to shame. TIME = MONEY Sunday, October 6, 13
  • 5. Caching provided by optimizing your site Caching through plugins Caching because of all of the above As youā€™ve already been shown today LEVELS OF CACHING all of those make a difference but... NOT ENOUGH Sunday, October 6, 13
  • 6. Donā€™t just optimize your site Optimize YOUR SERVER! and if you have none, build one! Optimize YOUR CODE TOO! LEVELS OF CACHING Everything Iā€™m going to show today requires you to have full control and access to your server (VM, VPS, Cloud, etc.) Sunday, October 6, 13
  • 7. WordPress Caching Digital Ocean + DEMO OpCode Caching Apache v.s. Nginx Varnish Memcached WHAT Iā€™LL BE COVERING Also known as the Tip of the Iceberg Sunday, October 6, 13
  • 8. WP CACHING OVERVIEW Everyone should know what levels of caching WP supports Sunday, October 6, 13
  • 9. Only lasts the duration of the request. After the request the run-time cache no longer exists. For example: the global $post and $wp_query variables WORDPRESS CACHING Run-Time Cache Sunday, October 6, 13
  • 10. WordPress has a ā€œTransient Cacheā€ API that allows you to store data in your MySQL DB. Ahum... Right... But it can still be useful... if used selectively WORDPRESS CACHING Transient Cache Sunday, October 6, 13
  • 11. Is usually persistent because itā€™s stored ā€œsomewhereā€. Somewhere could be in memory through APC, Memcached, or Redis, but could also be in your MySQL DB or on disk. WORDPRESS CACHING Object Cache Sunday, October 6, 13
  • 12. Stores HTML data representing entire pages. This is one of the more typical caching schemes used by most plugins. Unfortunately, not so useful when you have highly dynamic pages where someone does not always get the same content (i.e. membership sites). WORDPRESS CACHING Page Cache - Stored on disk or in memory Sunday, October 6, 13
  • 13. I donā€™t like the term and it is no different from the Object Cache. Instead of storing entire HTML pages it stores parts of pages. I like to think of it as just another object because thatā€™s what it is. WORDPRESS CACHING Fragment Cache Sunday, October 6, 13
  • 14. I prefer to have full control over my own online servers because I can have them be faster than managed hosting at a fraction of the cost. PERSONAL EXPERIENCE Managed Hosting, however optimized, is still designed to be a version of a ā€œone size ļ¬ts allā€ approach Sunday, October 6, 13
  • 15. GREAT(ER) PERFORMANCE & OK PRICES GREAT PERFORMANCE & COOL PRICES SLOW & EXPENSIVE Sunday, October 6, 13 NICE PERFORMANCE & CAN GET EXPENSIVE
  • 16. After running and testing my ļ¬rst ā€œdropletā€ on Digital Ocean and after playing with some deployments on Linode I knew my shared hosting for 30+ domains would come to an end. A very WELCOME END! FIRST DEPLOYMENT It was really exciting to see my ļ¬rst droplet come online Sunday, October 6, 13
  • 17. If you donā€™t care much about the ā€œmanagedā€ part of managed hosting and really want things to roar like a bat out of hell... HOSTING, BUT WHERE The long search has come to an end Sunday, October 6, 13
  • 18. Once my ā€œstealth projectā€ goes live I expect that within 2 years I will need around 150 to 500 virtual servers. (virtual servers of various capacities) Digital Ocean has the absolute best price point Iā€™ve seen. And Iā€™ve been looking. Really looking. STEALTH PROJECT Not to mention, Digital Ocean has a nice evolving API to manage all your ā€œdropletsā€. Not as mature as Linode, though! Sunday, October 6, 13
  • 19. $20/mo shared hosting v.s. $5/mo Digital Ocean Droplet Oakley Chamber of Commerce WordPress site (a heavy and NOT OPTIMIZED one!) DEMO TIME ! DEMO TIME ! If this doesnā€™t convince you I donā€™t know what will Sunday, October 6, 13
  • 20. http://oakleychamber.com http://oc.ignyter.com TRY IT FOR YOURSELF anyone with laptops here are encouraged to check it out Sunday, October 6, 13
  • 21. WAS THAT FAST OR WAS THAT FAST? Or is it just cool to know that you can do it TOO!? YES YOU CAN Stop whining about the commandline and typing on the keyboard, as if you donā€™t do that crap when youā€™re CSSā€™ing!!! Sunday, October 6, 13
  • 22. I canā€™t show you managed hosting vs. Digital Ocean at a $25-30/month vs. $5-10/ month price point... BUT.... Sunday, October 6, 13
  • 23. I will take any bet, for any amount of serious money, that I can setup and conļ¬gure servers on Digital Ocean or Linode that beat the living daylights out of any managed hosting in terms of performance. And YOU can do it TOO! So letā€™s not even talk about shared hosting anymore, ok? Sunday, October 6, 13
  • 24. I know what Iā€™m doing and... may be biased. I do, however, believe, that if you put in some time to learn more than what you copy & paste will serve you to be even more valuable to your clients! COPY AND PASTE If you canā€™t do copy and paste then Iā€™m wasting your time and I am very sorry. If you can, however... new doors will open! Sunday, October 6, 13
  • 25. https://www.digitalocean.com/community https://library.linode.com/ TUTORIALS, GUIDES, AND MORE INSTALLING AND RUNNING On how to install, conļ¬gure, and run with all the things I mentioned today, visit the libraries. Sunday, October 6, 13
  • 26. OPCODE CACHING And now to explain what youā€™ve just seen Sunday, October 6, 13
  • 27. What your server does for EVERY page hit on your site: Read most (or all) of your PHP ļ¬les/code Interpret each line & ā€œcompileā€ it into what the CPU understands Execute the ā€œcompiledā€ code and render out the page by sending it to the browser. OPCODE CACHING Yeah, uh, sure, what what does it DO?! Sunday, October 6, 13
  • 28. What your server does for EVERY page hit on your site: Read most (or all) of your PHP ļ¬les/code Interpret each line & ā€œcompileā€ it into what the CPU understands Execute the ā€œcompiledā€ code and render out the page by sending it to the browser. OPCODE CACHING Yeah, uh, sure, what what does it DO?! Sunday, October 6, 13
  • 29. WITHOUT OPCODE CACHING PHP PARSE PHP APC CACHE COMPILE EXECUTE SEND EXECUTE SEND WITH OPCODE CACHING OPCODE CACHING The simple explanation Sunday, October 6, 13
  • 30. APC XCache eAccelerator Zend OpCache NuSphere PHPExpress IonCube Accelerator OPCODE CACHING Speeds up your site much more than ā€œregularā€ ļ¬le/data caching Sunday, October 6, 13
  • 31. Because APC is going to be included in ā€œPHP6ā€ But as we all know, there is no such thing as PHP6, right? There is a book on PHP6. But there is no Beta of PHP6. There isnā€™t even an Alpha of PHP6. BUT PHP 5.5 HAS OPCACHE Performance between APC, XCache, etc. is all very similar Sunday, October 6, 13
  • 32. PHP APC APC = Alternative PHP Cache Sunday, October 6, 13
  • 33. Without APC With ā€œvanillaā€ APC Req. Per Sec : 85 Time Per Req. : 900ms Conc. Time Per Req. : 20ms Xfer Rate : 898 Kbytes/s Req. Per Sec : 138.5 Time Per Req. : 476ms Conc. Time Per Req. : 9.5ms Xfer Rate : 1265 Kbytes/s Great, but... IS THAT ALL? BENCHMARKING APC Your site without APC sucks donkey balls Sunday, October 6, 13
  • 34. Without APC With ā€œvanillaā€ APC Req. Per Sec : 85 Time Per Req. : 900ms Conc. Time Per Req. : 20ms Xfer Rate : 898 Kbytes/s Req. Per Sec : 138.5 Time Per Req. : 476ms Conc. Time Per Req. : 9.5ms Xfer Rate : 1265 Kbytes/s Now with apc.stat=off Req. Per Sec : 317.4 Time Per Req. : 152.1ms Conc. Time Per Req. : 3.1ms Xfer Rate : 3985 Kbytes/s BENCHMARKING APC Your site with APC and apc.stat = off WILL FLY! Sunday, October 6, 13
  • 35. Only turn APC.STAT to OFF if: Your PHP code on the server does not change and you are willing to restart the web server if it does. WP or Plugin updates = CHANGE OF PHP CODE APC.STAT = OFF THINK AND PLAN BEFORE YOU TURN IT OFF Sunday, October 6, 13
  • 36. # /etc/init.d/apache2 restart Itā€™s just one line. Maybe not exactly the same as this one, though. And itā€™s only for a few seconds. RESTARTING? SO WHAT? There are other ways to deal with this but those are for another time when we get real deep into server stuff Sunday, October 6, 13
  • 37. Ensure your server has: php-pear, php5-dev, make, apache2-prefork-dev # pecl install apc Then add the extension to your php.ini (or other) extension=apc.so INSTALLING APC Because it might be different for your ļ¬‚avor of server Iā€™m not going into too much detail here, but itā€™s dead easy Sunday, October 6, 13
  • 38. apc.enabled=1 apc.shm_segments=1 apc.shm_size=128M (or 1G, etc.) apc.ttl=3600 apc.user_ttl=7200 apc.gc_ttl=3600 apc.max_file_size=1M apc.stat=1 (or 0) CONFIGURING APC You should tweak it as much as needed And thereā€™s a lot more you can tweak in APC Sunday, October 6, 13
  • 39. With APC installed you can use PHP function calls to... Manage the APC cache Interrogate the APC cache Load/Dump Binary cache data START OPTIMIZING YOUR CODE Integrate it selectively in your plugins WORTH KNOWING APC will also extend PHP with new functions Sunday, October 6, 13
  • 40. APC Object Cache Backend http://wordpress.org/plugins/apc/ Place the object-cache.php in your wp-content directory. Optionally you can also install the BATCACHE plugin APC WITH A WP PLUGIN Your mileage may vary Sunday, October 6, 13
  • 41. Apache = Process Based Nginx = Event Based APACHE V.S. NGINX Because you might get a lot of visitors... all at the same time! Sunday, October 6, 13
  • 42. Asynchronous Asynchronous = Scalability Fewer Server Resources (i.e. much less memory) Better for heavy load sites A FEW ADVANTAGES On sites with light trafļ¬c you will not see much difference in performance between event vs. processed based servers Sunday, October 6, 13
  • 43. 10.000 concurrent connections and Nginx still uses only a few MB of memory Apache... 100ā€™s of MBā€™s And often will not even handle the load. ALSO A COST DIFFERENCE Part of the cost of virtual servers is the amount of memory that is available. Disk space is not as important as memory. Sunday, October 6, 13
  • 44. Back in 2008... 8000 live trafļ¬c requests per second Apache would have fallen over and DIED WORDPRESS.COM Big servers and big sites prefer Nginx... and now you know why Sunday, October 6, 13
  • 45. 15MB of RAM and 10% of CPU resources Apache and a pound load balancer would freak out at the 1000th process, using 400+MB RAM and ā€œleakingā€ 20MB RAM per hour GAME OVER Big servers and big sites prefer Nginx... and now you know why Sunday, October 6, 13
  • 46. WP development is ā€œintertwinedā€ with the Apache world. Support is ā€œlimited but growingā€. http://codex.wordpress.org/Nginx http://wiki.nginx.org/WordPress WORDPRESS & NGINX Not quite a match made in heaven Youā€™ll have to do some marriage counseling Sunday, October 6, 13
  • 47. Nginx has no conceptual notion of this thing called an .htaccess ļ¬le http://wordpress.org/plugins/nginx-helper/ Search for Nginx related WP plugins WORDPRESS & NGINX WHERE THE HECK DID MY .HTACCESS FILE GO?! Sunday, October 6, 13
  • 48. Caching HTTP Reverse Proxy Proxy Servers are not just ā€œthe thing you set in your browserā€ Sunday, October 6, 13
  • 49. BROWSER BROWSER PROXY SERVER VARNISH WEBSITE WEBSITE With Varnish YOU control the caching (because not everyone uses a proxy) VARNISH And it really is... really really, really, REALLY FAST! Sunday, October 6, 13
  • 50. Cache on Disk Cache in Memory Control through VCL (Varnish Cache Language) VARNISH You control the proxy and you control the resources Sunday, October 6, 13
  • 51. VARNISH PORT 80 APACHE OR NGINX PORT 8080 http://mysite.com http://mysite.com:8080 Varnish points to a ā€œbackendā€ server which happens to be itself but with the web server on a different port VARNISH SAME SERVER Change the web server port to something else because Varnish should respond on port 80 Sunday, October 6, 13
  • 52. VARNISH PORT 80 APACHE OR NGINX PORT 8080 http://mysite.com http://somesite.com http://wowy.com http://admin.com http://mysite.com:8080 http://wowy.com:8080 APACHE OR NGINX PORT 8081 http://somesite.com:8081 http://admin.com:8081 VARNISH DIFFERENT SERVERS You can do the setup in whatever way you like Sunday, October 6, 13
  • 53. # Drop any cookies sent to Wordpress. sub vcl_recv { ! if (!(req.url ~ "wp-(login|admin)")) { ! ! unset req.http.cookie; ! } } # Drop any cookies Wordpress # tries to send back to the client. sub vcl_fetch { ! if (!(req.url ~ "wp-(login|admin)")) { ! ! unset beresp.http.set-cookie; ! } } WP AND VARNISH BEWARE OF COOKIES Sunday, October 6, 13
  • 54. MEMCACHED The name of the game is ā€œDISTRIBUTEDā€ Sunday, October 6, 13
  • 55. The ā€œfor dummiesā€ version: Make better use of memory Cache data in memory on other servers that arenā€™t using it as much. AND IT DOES WHAT? It manages cache and memory... for more than one server Sunday, October 6, 13
  • 56. DISTRIBUTED, I SAID The more the merrier Sunday, October 6, 13
  • 57. System interconnects on servers (depending on how you plan and set them up) can still get more performance over TCP/IP and memory than a local server faced with only its limited resources. More servers = more memcached WORDPRESS.COM Yes, wordpress.com uses memcached. As do Twitter, Flickr, Wikipedia, Craigslist, YouTube, and many others Sunday, October 6, 13
  • 58. $mc = new Memcache; $mc->connect(ā€˜10.0.1.20ā€™, 11211); $data = ā€œcache this!ā€; $mc->set(ā€˜mydataā€™, $data, false, 100); $result = $mc->get(ā€˜mydataā€™); MEMCACHED PHP When installed Memcached will provide you a lot of PHP functionality to have full control over your caching Sunday, October 6, 13
  • 59. BATCACHE http://wordpress.org/plugins/batcache/ Place the advanced-cache.php in your wp-content directory ā€œMEMCACHED PLUGINā€ Your mileage may vary Sunday, October 6, 13
  • 60. Single Malt Scotch Hi Stefan! Bourbon Hi Mitch! Tequila Hi Kelly! Beer Hi Andrei! LIFE IN THE SLOW LANE If all this server and site performance is getting to you! :-) Sunday, October 6, 13
  • 61. http://eastbaywp.com/ http://www.stefandidak.com DOWNLOAD THE SLIDES Because this MAY have gone WAY too FAST for you! Sunday, October 6, 13
  • 62. Digital Ocean https://www.digitalocean.com/ Redis http://redis.io/ Linode https://www.linode.com/ Memcached http://memcached.org/ Rackspace http://www.rackspace.com/ WordPress Batcache http://wordpress.org/plugins/batcache/ Amazon VPC http://aws.amazon.com/vpc/ WordPress APC Object Backend http://wordpress.org/plugins/apc/ APC http://php.net/manual/en/book.apc.php XCache http://xcache.lighttpd.net/ And ļ¬nally, a ā€œreal developerā€™sā€ home ofļ¬ce because everyone keeps asking... :-) http://www.stefandidak.com/ofļ¬ce/ http://www.ļ¬‚ickr.com/photos/didak/sets/72157633152434208/ eAccelerator http://eaccelerator.net/ http://www.ļ¬‚ickr.com/photos/didak/sets/72157632343719954/ Zend OpCache/Optimizer/Platform http://en.wikipedia.org/wiki/Zend_Technologies http://www.ļ¬‚ickr.com/photos/didak/sets/72157632244753177/ Nginx http://nginx.org/ Varnish https://www.varnish-cache.org/ THINGS MENTIONED In case you want to go look stuff up for yourself Sunday, October 6, 13
  • 63. QUESTIONS Because Iā€™m sure thereā€™ll be some! Sunday, October 6, 13