squeeze maximum performance from your hosting platform
DESCRIPTION
The presentation covers useful insights and benchmark tests on how the performance (and security) of PHP/MySQL based applications can be significantly improved through different tweaks done at server administration level (Linux/Apache). It also examines several different types of hosting platforms: dedicated, virtual/cloud and shared, and how they can influence the CMS application speed and security.A presentation delivered by SiteGround CEO at CMS Expo - Chicago, May 8-10 2012.TRANSCRIPT
Squeeze Maximum Performance from your Hosting Platform
Tenko Nikolov
CEO at SiteGround.com
Why I love this car?
What is behind server performance?
Let’s discuss the speed
• Invest in hardware
Test at least 3 different hardware setups before proceeding.
Always benchmark performance and reliability
Add more RAM and use it on maximum capacity
Speed – Cont’d
• Install RAM caching mechanismsMemcache and APC/Eaccellerator
• Install reverse proxyNginX or Varnish
• Virtualization always makes things slowerResources are shared and at the same time
are lost for the Virtual OS too!
Speed – Cont’d
• Tweak your software to run fasterUse fast & secure PHP like FastCGIMove PHP binaries into RAMMove MySQL to a different hard drive. Use RAID
or SSD for lightning fast performance. If using just one app, tweak MySQL for it! Keep log files separate and small in sizeMove TMP to RAM Avoid creating unneeded I/O, use CDN if possible
Security & Speed?
• Security and Performance don’t come hand in hand, but some things usually help both sides:
Latest OS
Late version of the Linux Kernel
Secure firewall, strong monitoring of access, OS and system files
Performance needs Security
Isolate accounts!
99.9% uptime is achievable!
• Invest in integrating a monitoring and automated reaction system.
• Keep your server load level at minimum at all times.
• If you start overloading your server, its either time to upgrade or to tweak further!
Why every second counts?
Features Zenoss Nagios Our monitoring(1H Guardian)
Services check interval
10 sec 1 min 0.5 sec
Automated reaction
Plugins Plugins Built-in
Automatic load balancing*
NO NO Built-in
Real time status & availability reports
Yes, updates every 1 minute
Yes, updates every 1 minute
YES, updates every 10 seconds
Uptime – Cont’d
• Spread the server resources wisely
Never allow a single user to use all of the server resources at any given time. Limit and throttle if limits are reached and prevent overloads.
Whenever there’s a resource problem, react within seconds and not within minutes or hours.
The big Question: which platform?
DEDICATED VPS
SHARED
CLOUD
The common understanding
The picture CAN be different!
Let’s prove this
But what if we add cache?
Some key takes
• Shared can be a good platform contrary to the common belief, but not always the right one
• If you need custom setup/deep customizations & have a big website -> go for VPS/dedicated
• Dedicated/VPS & Cloud can perform better for you if you KNOW how to tweak them
Your turn to ask
Image courtesy to Flickr user WingedWolf: http://is.gd/4ycgJq