Logo
  • PHP
    • HipHop / HHVM
    • Modern PHP
    • PHPStorm
    • LAMP
    • Laravel
    • Composer
    • PDO
  • JavaScript
    • node.js
    • AngularJS
  • CSS
    • SASS
    • “CSS4” (CSS level 4)
  • HTML
  • Git
  • LAMP
  • Vagrant
  • UI / UX
  • Architecture of …
  • Off-Topic
With ♥ from Berlin
May 19, 2014
Chris
german, How do THEY do it ?, LAMP, Linux, Refactoring, Server, The architecture of ...
0

Hochlastseiten mit PHP, MySQL und Apache am Beispiel stern.de (deutscher Artikel)

PreviousNext
redaktionelle-hochlastseiten

Eine grandiose Powerpoint-Präsentation die sich jeder, der mit PHP, MySQL und Apache auf Linux arbeitet, mal anschauen sollte: Nils Langner, vielen sicherlich vom legendären PHP-Blog PHP hates me (but that’s okay) bekannt [welcher mittlerweile zu The Web hates me fusioniert ist], hat 2011 mal ausführlich erklärt, wie man 16.000.000.000 [kein Tippfehler] Requests auf stern.de abfrühstückt, und zwar OHNE den Code selbst anzufassen.

Die Präsentation ist ein Paradebeispiel für exzellenten Optimierungs-Workflow: Nils startet mit dem (theoretischen) “Geld spielt keine Rolle”-Ansatz (der immerhin knapp 6000 Server braucht!) und optimiert step für step, bis am Ende nur noch 4 (!) Server gebraucht werden. Nochmal zum Mitschreiben: OHNE den Code selbst zu ändern. Allein der erste Schritt, in dem statische Inhalte von dynamischen getrennt werden, reduziert die Server auf circa 60, also runter auf 1% (!!) vor der Optimierung. Dazu kommt eine extreme Reduktion der Renderzeit (von 6 sec auf <1sec), potentielle Frontend-Verbesserungen noch gar nicht betrachtet (und da geht heute so einiges!).

Das sind Zahlen die zum ernsthaften Nachdenken anregen und auch ganz klar die Frage nach dem Sinn von Dev-Ops im Unternehmen beantworten: Ja.

Ein großartiges Beispiel dafür, was der ach-so-amateurhafte PHP/MySQL/Apache-Stack selbst im High-End-Segment leisten kann.

Geht da noch mehr ?

Aus heutiger Sicht (die Folien sind immerhin 2 1/2 Jahre alt) wird’s dann nochmal richtig interessant, wenn man die extremen Performancesprünge der letzten PHP-Versionen mit einberechnet (real ist PHP 5.7 bis zu 30% schneller als PHP 5.5, was wiederum ggü. 5.3 auch ordentlich zugelegt hat), sich das ganze (semi-)vorkompiliert unter HipHop oder mit optimiertem nginx vorstellt. Auch Frontend-technisch ist heute extrem viel möglich, Binary-Image-Files können ohne wahrgenommenen Verlust extremst komprimiert werden (nehmt mal das erstbeste .png das auf eurem Desktop rumliegt und schickt es durch den optimizer auf tinypng.com, und das ist nur der Anfang!), Icons kommen als gezippte Pfade oder Sprites daher, und einen (fast) leeren Body auszuliefern und dann per JavaScript die Page zu bauen ist heute auch schon relativ üblich. Hier kann man locker 50%-90% Traffic und Requests und damit jede Menge CDN-Kosten einsparen.

Fazit: Das “Anfänger-Stack” mit PHP, MySQL und Apache hat definitiv das Zeug um High-End-Sites auszuliefern. Wenn man’s richtig macht. Aber das wissen wir alle ja eigentlich seit Facebook und Wikipedia sowieso.

stern.de-optimierung

 


This article was written quite a while ago (9 years), please keep this in mind when using the information written here. Links, code and commands might be outdated or broken.

Random articles

  • How to install/setup a basic LAMP stack (Linux, Apache, MySQL, PHP) on Ubuntu 14.04 LTSHow to install/setup a basic LAMP stack (Linux, Apache, MySQL, PHP) on Ubuntu 14.04 LTS
  • How to install/setup a basic LAMP stack (Linux, Apache, MySQL, PHP) on Ubuntu 12.04 or Debian 7.0/7.1How to install/setup a basic LAMP stack (Linux, Apache, MySQL, PHP) on Ubuntu 12.04 or Debian 7.0/7.1
  • Dangerous Performance Myths in the Web (video talk by Thomas Lohner, PHPUG Latvia)Dangerous Performance Myths in the Web (video talk by Thomas Lohner, PHPUG Latvia)
  • How to setup / install PHP 5.6 on Ubuntu 14.04 LTSHow to setup / install PHP 5.6 on Ubuntu 14.04 LTS
  • [RePost] Goodbye LAMP: Going Nginx, NoSQL, HHVM (41min conference talk with Arne Blankerts)[RePost] Goodbye LAMP: Going Nginx, NoSQL, HHVM (41min conference talk with Arne Blankerts)
  • PHP Opcache Explained by Julien Pauli (video from PHP UK Conference 2014)PHP Opcache Explained by Julien Pauli (video from PHP UK Conference 2014)
  • How to setup a local server (in a virtual machine) with Vagrant in PHPStormHow to setup a local server (in a virtual machine) with Vagrant in PHPStorm
  • How to setup a (or multiple) server/LAMP-stack inside a virtual machine for local development with Vagrant and PuPHPetHow to setup a (or multiple) server/LAMP-stack inside a virtual machine for local development with Vagrant and PuPHPet
  • PHPStorm: 42 Tips and Tricks (47min video talk by Mikhail Vink at Dutch PHP Conference 2015)PHPStorm: 42 Tips and Tricks (47min video talk by Mikhail Vink at Dutch PHP Conference 2015)
apachededeutschgermanhigh-endLAMPoptimizationPHPvarnish
Share this

Leave A Comment Cancel reply

composer

A short & simple Composer tutorial

In this little Composer tutorial we’ll walk through the absolute basics of Composer, the PHP dependency management tool. Composer has

Disappointed by Watch Dogs’s graphics ? See how it looks with unlocked, hidden settings. Awesome!

When you are interested in 3D and game graphics in general, you probably stumbled upon these excellent and extremely good-looking

Ghost

[FREE SERVER PROMO] Install GHOST for free on a free SSD server with this coupon

A little off-topic, but highly interesting: In April 2013 the former User Interface Head of WordPress (and WordPress expert) John

All new features of WordPress 3.9 in this 2 minute video

This article was written quite a while ago (9 years), please keep this in mind when using the information written

JavaScript ECMAScript6 – A short video introduction (5min)

Excellent introduction into the new ECMAScript6, the spec behind JavaScript. This article was written quite a while ago (8 years),

How to get a single table out of a massive MySQL .sql database backup file (mysql dump splitter)

Imagine the following situation: Somebody backs up an entire MySQL database – a very large one – with common tools.

How to fix the ugly font rendering in Google Chrome

Update, August 2014: Google has rolled out Chrome 37, which finally fixes this issue nativly. Yeah! For historical reasons the

october cms

October CMS, built on top of Laravel, is beautiful, clever and on the way to be the new #1 CMS

Do you remember when you tried to edit one line of code inside TYPO3 or Contao ? And the extreme

Frontend Ops Conf 2014 – Paul Irish: Delivering The Goods In Under 1000ms (40min video)

This article was written quite a while ago (9 years), please keep this in mind when using the information written

php ide

Sitepoint asks for your favourite PHP IDE – take part!

Bruno Skvorc ask for your favourite PHP IDE in this new article on Sitepoint. If you use one, then take

1/4

Categories

Search

digitalocean coupon
Free $10 coupon for DigitalOcean SSD cloud VPS hosting
vagrant
How to setup a local server (in a virtual machine) with Vagrant in PHPStorm
java vs php
Switching from Java to PHP. Seriously. A very interesting and pre-judice-free talk with Ph.D. Aris Zakinthinos
git-php-deployment
Extremely simple deployment with PHPloy
Frontend Ops Conf 2014 – Paul Irish: Delivering The Goods In Under 1000ms (40min video)
php-phalcon-logo
Which PHP-framework to learn in 2014 ? PHALCON, by far the fastest ever!
phpstorm-8
PHPStorm 8 has just been released
js javascript
How JavaScript really works – An introduction into the JavaScript call stack by Philip Roberts (20min video)
laracon-2014-eu-amsterdam
Laracon 2013 – Kapil Verma: Engineering Complex Applications with Laravel 4 (40min video)
O’Reilly’s Learning JavaScript Design Patterns by Addy Osmani for free
How Instagram.com works
Quick fix for 404 error in WordPress category / tag page
8 awesome pure CSS spinner / loader
MINI, an extremely simple barebone PHP application
php
Test out PHP 5.6alpha1 on Windows 7 / 8 with two clicks

Tags

apache bash centos composer conference coupon CSS debian fonts framework git GitHub hack HHVM HipHop HTML HTML5 IDE JavaScript JS LAMP laravel linux mod_rewrite MVC MySQL Nginx optimization PHP PHP 5.5 PHP 5.6 phpmyadmin PHPStorm security server SSD Ubuntu UI UX vagrant video virtual machine voucher VPS wordpress
Side-Project: Wordle-Solver:
www.wordle-helper.info

Pages

  • Privacy Policy
 
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Do not sell my personal information.
Cookie SettingsAccept
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT