Slide 1

Slide 1 text

Setting up the ideal WordPress Web Server: from zero to hero! OR: Taking care of the bigger pains of a default WordPress installation. George Gkouvousis, 8web Interactive

Slide 2

Slide 2 text

GEORGE GKOUVOUSIS George Gkouvousis @ggloveswp [email protected] www.8web.gr • Technical Analyst (ICT) degree / DevOps engineer • Coordinating WordPress projects at 8web • Scaling more than 100 WordPress Installations per year • Optimizing a hundred more

Slide 3

Slide 3 text

PRESENTATION’S INFORMATION CHAPTER 3 Applying Solutions CHAPTER 2 Understanding & Analyzing needs CHAPTER 1 Common Stack problems Assumptions: • LAMP/LNMP stack installed • Sysadmin experience level

Slide 4

Slide 4 text

• ENVIRONMENT RESTRICTIONS • RESOURCES RESTRICTIONS • OVERSELLING FACTOR RESOURCES LEVEL • OPTIMUM SOFTWARE NOT APPLIED • NOT ACTIVELY MAINTAINED TECHNOLOGY LEVEL 1. COMMON STACK PROBLEMS CMS-LEVEL ISSUES • PHP BOTTLENECK • MySQL BOTTLENECKS

Slide 5

Slide 5 text

2. UNDERSTANDING NEEDS 1. You type mydomain.com into the address bar of your browser. 2. The browser checks the cache for a DNS record to find the corresponding IP address of it 3. Browser initiates a TCP connection with the server. 4. The browser sends an HTTP request to the web server. 5. The server handles the request and sends back a response. 6. The server sends out an HTTP response and the browser displays the HTML output. WHAT HAPPENS WHEN YOU CALL A WordPress WEBSITE URL ?

Slide 6

Slide 6 text

2. ANALYZING NEEDS ZERO STATE

Slide 7

Slide 7 text

2. ANALYZING NEEDS !! WordPress executes hundreds of queries for every URL visit !!

Slide 8

Slide 8 text

2. UNDERSTANDING NEEDS a FASTER RESPONSE means: • Faster loading speed • Better User Experience • Better Rankings • Less Resources • Happier Visitors • Happier Webmaster J GOLDEN rule: THE FASTER, THE BETTER ACTUAL NEED = FASTER RESPONSES

Slide 9

Slide 9 text

3. APPLYING SOLUTIONS

Slide 10

Slide 10 text

3. APPLYING SOLUTIONS APPLY HTTP CACHE & AVOID REGENERATES PRIORITY: SERVER-LAYER SOLUTIONS SECONDARY OPTION: PLUGINS PAIN #1 > PHP APPLY OBJECT CACHE & AVOID MySQL LOAD FOR IDENTICAL QUERIES PRIORITY: PERSISTENT CACHE PAIN #2 > DATABASE FASTER WEB SERVER (NGINX) LATEST PHP VERSION + OPCACHE UP-TO-DATE MySQL VERSION HTTP/2 PROTOCOL DOM IMPROVEMENT EXTRA SIDE-IMPROVEMENTS

Slide 11

Slide 11 text

George Gkouvousis, 8web Interactive Questions? Thank you for attending! Slides/Questions/Info: ggloveswp georgegkouvousis www.8web.gr [email protected]