High Performance Wordpress

Slides:



Advertisements
Similar presentations
Getting Set-up with Hosting and WordPress Gregory Young Alternative Hosting
Advertisements

SQUID Running SQUID in freeBSD Sufi Faruq Ibne Abubakar AKTEL, TMIB Bangladesh.
Prime’ Senior Project. Presentation Outline What is Our Project? Problem Definition What does our system do? How does the system work? Implementation.
Transparent Caching The art of caching network traffic without requiring user / browser side configuration.
Wordpress to Get Your Words Out Using Wordpress to engage and interact online.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
Handling Web Hotspots at Dynamic Content Web Sites Using DotSlash Weibin Zhao Henning Schulzrinne Columbia University NYMAN’04.
Multiple Tiers in Action
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
Danguardian and Squid Proxy Installation and Configuration.
BACKGROUND Rainbow Housing Assistance Corporation was founded in A national non-profit organization forced to create and preserve affordable multi-
14 July CONFIGURING A PROXY SERVER IN LINUX BY ROHIT KAUL CS, BITS-PILANI.
Firewall and Proxy Server Director: Dr. Mort Anvari Name: Anan Chen Date: Summer 2000.
Dynamic Web site With PHP and MySQL. MySQL The combination of MySQL database and PHP scripting language is optimum for building dynamic websites. MySQL.
Web Server Setup WEB SERVER SETUP.
Chapter 22 Web Hosting and Internet Servers Xuanxuan Su.
SquirrelMail for Webmail AfNOG 2013 Scalable Internet Services (SS-E) Presented by Michuki Mwangi Lusaka, Zambia (Original Materials by Joelja)
Squid Proxy CentOS 6.4 Prepared by : Mr. Sopheap Position : IT Support Location : Deam Computer Date : 24/July/2013.
Web Server Configuration Alokes Chattopadhyay Computer & Informatics Centre IIT Kharagpur.
1 Web Server Administration Chapter 3 Installing the Server.
Web Server A software program or server computer equipped to offer World Wide Web access. Web servers allow you to serve content over the Internet using.
1 Web Server Administration Chapter 1 The Basics of Server and Web Server Administration.
Web Proxy Squid Setup. A proxy is a host which relays web access requests from clients a proxy server is an application program that acts as an intermediary.
Topics ABOUT SQUID SQUID BASICS INSTRALLATION OF SQUID SQUID SERVICE CONFIGURATION UNDERSTANDING ACCESS CONTROL LIST LOGS TRANSPARENT PROXY MONITORING.
Traffic Control in Apache Jed Reynolds Blog.Bitratchet.com Where in your web site do you need traffic control?
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
1 Quick Overview Overview Network –IPTables –Snort Intrusion Detection –Tripwire –AIDE –Samhain Monitoring & Configuration –Beltaine –Lemon –Prelude Conclusions.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
.htaccess Apache server directives BTM 395: Internet Programming.
Unit - III. Providing a Caching Proxy Server (1) A caching proxy server is software that stores (caches) frequently requested internet objects such as.
Maite Barroso - 10/05/01 - n° 1 WP4 PM9 Deliverable Presentation: Interim Installation System Configuration Management Prototype
BZUPAGES.COM WEB SERVER PRESENTED TO: SIR AHMAD KAREEM.
G046 Lecture 04 Task C Briefing Notes Mr C Johnston ICT Teacher
SquirrelMail for Webmail Quick and Dirty Michuki Mwangi for AfNOG 2010.
# groupadd squid # useradd -d /cache/ -m –s /bin/false –g squid squid # wget # tar xzpf squid-2.4.STABLE1-src.tar.gz.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
PROXY. SQUID Squid is a fully-featured HTTP/1.0 proxy which is almost (but not quite -- we're getting there!) HTTP/1.1 compliant. Squid offers a rich.
24X7 SERVER SUPPORT AND SERVER MANAGEMENT
WordPress and Etherpad with BlueMix and Docker. Our aim is to run on BlueMix containers (now in beta) these two famous services In the BlueMix dashboard,
1 E-Site - FTP Services Setup / install guide. 2 About FTP services can run on any desired port(s) Runs as a windows service Works for all sites installed.
How to use Drupal Awdhesh Kumar (Team Leader) Presentation Topic.
L.A.M.P. İlker Korkmaz & Kaya Oğuz CS 350. Why cover a lecture on LAMP? ● Job Opportunities – There are many hosting companies offering LAMP as a web.
Securing your network But still be able to access it Hugh Mahon.
Squid Jon Larsen Omaha Linux User Group May 2nd, 2006.
Web and Proxy Server.
WordPress Introduction
Apache web server Quick overview.
ECE 544: Middlebox lab Abhigyan Sharma.
Server Efficiency & Optimization
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
Scale and Performance in the CoBlitz Large-File Distribution Service
Securing the Network Perimeter with ISA 2004
E-commerce | WWW World Wide Web - Concepts
E-commerce | WWW World Wide Web - Concepts
SUBMITTED BY: NAIMISHYA ATRI(7TH SEM) IT BRANCH
Processes The most important processes used in Web-based systems and their internal organization.
Vulnerability Scanning With 'lynis'
Enhancing Primo Back Office
HmailServer Karam al-sofy & Faten alhasan.
CompTIA Server+ Certification (Exam SK0-004)
5 Optimization Techniques for WordPress Websites.
ECE 671 – Lecture 16 Content Distribution Networks
Advisor: Dr.vahidipour Zahra salimian Dec 2017
My take on Security Nigel Pentland
MORE ON ARCHITECTURES The main reasons for using an architecture are maintainability and performance. We want to structure the software into reasonably.
INTERNET APPLICATIONS
Client/Server Computing and Web Technologies
Securing web applications Externally
Presentation transcript:

High Performance Wordpress “Faster, Cheaper, Easier : Pick Three” Wordcamp Indonesia 2010 Gunadarma University 30 January 2010 Author : Harry Sufehmi Rev : 201001301

About Technical Analyst, Birmingham City Council Birmingham.Gov.UK 2005 : 1 million daily pageviews Best eGovernment website in Europe 2007 : IlmuKomputer.com 2009 : KumpulBlogger.com, etc http://harry.sufehmi.com/about/

Scope Growing-pains Sites : Not enough revenue yet to pay for proper Multi-Tiered Infrastructure : servers, tech.team, etc Too big for Shared Hosting Alexa rank (approx) 100.000 – 10.000 Daily Pageviews : 100.000 – 5.000.000 Need help to be able to stay alive, and grow to the next level !

Lesser, Harder Ways to Speed PHP Accelerators : Potential bug/quirks MySQL tuning Nginx : eg: moving the bottleneck to PHP & MySQL WP cache plugins : still hits A & P Wordpress “lite” : maintenance nightmare Linux kernel tune-up (!) Turning the site into Static version (eg: all HTML files !)

Goals Faster : Ability to serve more visitors, with faster response Cheaper : Using one server (typical configuration : dual-core, 2 GB RAM) Easier : As little work as possible

Optimization Steps Benchmark Define goals Profiling Optimize : Start with the Biggest, Lowest-hanging Fruit ! Test & Benchmark Go To #3 Done !

Problem In many cases, we found out that even the Webserver itself, the “lightest” component of the AMP stack, is also THE bottleneck; not just the App server or Database server Conclusion : The flood must be stopped before it even reaches the webserver Solution : Edge-server

Edge Server Also known as “Reverse-Proxy” Squid 2.5 stable chosen : Simple setup : very little config & changes Fully standards-compliant Support Virtual Hosts Excellent documentation & support Result : Wordpress benchmark Was : 2 requests / second Now : 2000 requests / second 100.000% performance increase !

became potential bottleneck Hitting Every Point in the Infrastructure. Each point then became potential bottleneck I N T E R N E T Apache PHP MySQL

I N T E R N E T Apache SQUID PHP MySQL Acting like Armor, Squid absorbs most of the hits. Most of requests to Wordpress sites are Read-requests, which are very cacheable. Therefore, most requests then are served by Squid. Very little are left to be served by the AMP stack I N T E R N E T Apache SQUID PHP MySQL

How To : Overview Setup Squid Cache-enable Apache Cache-enable PHP Increase open files limit Redirect port 80 incoming to Squid Done ! Assumption : Ubuntu Linux

How To : Setup Squid cd /tmp wget http://www.squid- cache.org/Versions/v2/2.5/squid- 2.5.STABLE14.tar.bz2 tar xjvf squid-2.5.STABLE.tar.bz2 cd squid-2.5.STABLE14 mkdir /opt/squid ./configure –prefix=/opt/squid –-with-maxfd=8000 - -with-large-files make all make install mkdir /opt/squid/var/cache mkdir /opt/squid/var/logs chown -R nobody:nobody /opt/squid/var/logs/ chown -R nobody:nobody /opt/squid/var/cache/

How To : squid.conf ### the essentials http_port 80 httpd_accel_host virtual httpd_accel_port 8181 httpd_accel_uses_host_header on ### cache-related settings cache_mem 128 MB maximum_object_size_in_memory 1024 KB cache_dir ufs /usr/local/squid/var/cache 4096 16 256 ### access control http_access allow all http_reply_access allow all icp_access allow all

How To : cache-enable Apache Enable mod_expire : a2enmod expires Wordpress' .htaccess : <IfModule mod_expires.c> ExpiresActive On ExpiresDefault “access plus 1 day” </IfModule>

How To : cache-enable PHP Edit /etc/php5/apache2/php.ini Change : session.cache_limiter = nocache Into : session.cache_limiter = public /etc/init.d/apache2 stop /etc/init.d/apache2 start

How To : Increase Open File Limit Create a script to start Squid : /opt/squid/restart-squid.sh #!/bin/bash ## kill running copies of squid /opt/squid/sbin/squid -k kill ## recreate disk cache /bin/rm -rf /opt/squid/var/cache ; /bin/mkdir /opt/squid/var/cache /bin/chown nobody:nogroup /opt/squid/var/cache /opt/squid/sbin/squid -z ## start squid ulimit -n 10000 ; /opt/squid/sbin/squid -d 2

How To : Redirect Port 80 To Squid Use Iptables, easily with Firehol : apt-get install firehol Edit /etc/firehol/firehol.conf version 5 server_squid_ports="tcp/8181" client_squid_ports="default" redirect to 8181 inface eth0 proto tcp dport 80 interface eth0 internet protection bad-packets server "icmp ssh smtp http pop3 squid" accept client all accept

How To : Start It Up Start Squid : /opt/squid/restart-squid.sh Start Port 80 Redirect : /etc/init.d/firehol start Do some benchmarking Done !

Other Big, Low-Hanging Fruits Themes Optimization : Less Components : consolidate / strip away Do more simultaneously : browser fetch 4 objects simultaneously from a domain, so, use more sub-domains / CDN More at http://to./es3

Other Big, Low-Hanging Fruits DNS Optimization : Use fast, fail-safe nameservers (thanks Simon Lim) Recommendation: ZoneEdit.com MySQL Capacity Optimizations : http://to./es2

Thank You Questions ?