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 (8 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

First look on Gitter, the chat for GitHub

GitHub has definitly become the #1 platform for git-based public repositories on the planet, no question. The site offers excellent

Frontend Ops Conf 2014 – Keynote by Alex Sexton: “Front End Operations”

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

[Link] Redesigning SoundCloud by Evan Simoni

Again, an interesting approach / proof-of-concept on a redesign of a major website. Evan Simoni has overthought SoundCloud’s UI and

Interesting stats on SONY’s hacked passwords

In 2011 SONY’s Playstation network got hacked, 77 million accounts have been compromised, and more than 1.000.000 passwords – saved

Soundcloud’s “VP of Engineering” about using SSDs

Excellent [german] statement from Alexander Grosse (Soundcloud’s Vice President of Engineering) about using SSDs for the main application (music data

set up a local virtual machine for development with vagrant and puphpet / puppet (and ubuntu, linux, php, apache, mysql)

A super-simple pre-configured Vagrant box with HipHop, Hack and Hack code examples

Another game-changing project: Victor Berchet‘s HHVM Vagrant box is a simple Ubuntu 12.04 LTS Vagrant-box that comes with preinstalled HHVM/HipHop

laracon-2014-eu-amsterdam

Laracon 2013 – Kapil Verma: Engineering Complex Applications with Laravel 4 (40min video)

More videos of 2013’s and 2014’s Laracon events from US and EU on their Youtube channel. This article was written

A quick history of Comic Sans, the most wrongly used font ever

Excellent 10min presentation every frontend developer should see. Yes, even if you never touched Photoshop and never chose a font,

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

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

logo-internet-explorer

How to professionally test on old Internet Explorer versions

If you have (or want) to test your websites and applications on older versions of Internet Explorer, then there’s a

1/4

Categories

Search

php
Somebody is writing a compiler for PHP, compiles down to machine code, outperforms HHVM
First look on Gitter, the chat for GitHub
ubuntu-14-04-lts lamp
How to install/setup a basic LAMP stack (Linux, Apache, MySQL, PHP) on Ubuntu 12.04 or Debian 7.0/7.1
How to hack time (KUNG FURY promo campaign)
harper reed about big data
Harper Reed – The magic and mystery of Big Data (30min video from Webstock’15)
october cms
[Link] How To Install October CMS on a VPS running Ubuntu 14.04
php
“Belt” adds very clever everyday functions to PHP, comes with JavaScript naming styles and eventually solves the needle/haystack problem
logo-internet-explorer
How to professionally test on old Internet Explorer versions
composer
How to install Composer on Windows 7 / 8 or Ubuntu
hiphop php
Vote for “Hack” for HipHop/HHMV support (future style PHP) in PHPStorm 8
forbes 30 under 30
Need motivation ? Check out these 2 awesome “FORBES 30 under 30” lists (web, UI, games)
php
How to install PHP 7.0 on Ubuntu 14.04 LTS
js javascript
How JavaScript really works – An introduction into the JavaScript call stack by Philip Roberts (20min video)
composer
A short & simple Composer tutorial
phpstorm-8
Ignore .idea folder from git in PHPStorm

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 All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
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