igphp.dePHP verstehen, lernen und unterrichten

Extra · Computerwissen · Lektion X2

Computerhardware verstehen: Komponenten und ihre Funktionen

Aktualisiert am 4 Min. Lesezeit

Programmieren findet in Texten statt, aber ausgeführt wird der Code auf ganz realen Bauteilen. Wer ungefähr weiß, was im Rechner passiert, versteht besser, warum eine Anwendung langsam ist, warum ein Server mehr Arbeitsspeicher braucht oder warum der Datenbankzugriff so viel teurer ist als eine Rechnung im Programm.

Lernziele

  • Du kennst die Aufgabe jeder Hauptkomponente.
  • Du verstehst die Speicherhierarchie vom Cache bis zur SSD.
  • Du weißt, welche Hardware für Entwicklung und PHP-Server wichtig ist.
Hauptplatine eines Computers mit Steckplätzen und Chips
Auf der Hauptplatine laufen alle Komponenten zusammen. Foto: Kurt Kaiser, CC0 (Wikimedia Commons).

Der Prozessor (CPU)

Der Prozessor führt Befehle aus: rechnen, vergleichen, Daten verschieben. Moderne Prozessoren haben mehrere Kerne, die unabhängig voneinander arbeiten, und viele Kerne können zusätzlich zwei Befehlsströme gleichzeitig bedienen. Die Taktfrequenz gibt an, wie viele Arbeitsschritte pro Sekunde möglich sind, sagt aber allein wenig über die Leistung aus – wie viel pro Takt erledigt wird, hängt stark von der Architektur ab.

Für PHP ist das interessant: Ein einzelner PHP-Prozess nutzt für eine Anfrage in der Regel nur einen Kern. Ein Server mit vielen Kernen kann aber viele Anfragen parallel bearbeiten, weil PHP-FPM mehrere Prozesse gleichzeitig laufen lässt.

Der Arbeitsspeicher (RAM)

Im Arbeitsspeicher liegen Programme und Daten, mit denen gerade gearbeitet wird. Er ist sehr schnell, verliert seinen Inhalt aber, sobald der Strom weg ist. Auf einem PHP-Server bestimmt der Arbeitsspeicher, wie viele PHP-Prozesse gleichzeitig laufen können: Braucht ein Prozess im Schnitt 60 Megabyte und stehen 3 Gigabyte zur Verfügung, passen grob 50 Prozesse hinein – der Rest muss warten.

Die PHP-Einstellung memory_limit legt fest, wie viel Speicher ein einzelnes Skript höchstens belegen darf. Sie schützt den Server davor, dass ein fehlerhaftes Skript allen anderen den Speicher wegnimmt.

Die Speicherhierarchie

Register · < 1 nsCache · wenige nsArbeitsspeicher · ~100 nsSSD (NVMe) · MikrosekundenNetzwerk / Datenbank · Millisekundenschnell, kleinlangsam, groß
Speicherhierarchie: Register, Cache, Arbeitsspeicher, SSD, Netzwerk

Die Grafik zeigt ein Grundprinzip der Informatik: Je schneller ein Speicher ist, desto kleiner und teurer ist er. Ganz oben stehen die Register im Prozessor, dann mehrere Stufen Cache, dann der Arbeitsspeicher, danach SSD oder Festplatte und schließlich alles, was über das Netzwerk kommt. Zwischen den Stufen liegen jeweils Größenordnungen an Zugriffszeit.

Auch PHP selbst nutzt dieses Prinzip: OPcache speichert den bereits übersetzten Zwischencode eines Skripts im Arbeitsspeicher, sodass PHP die Datei nicht bei jeder Anfrage neu lesen und übersetzen muss. Auf Produktionsservern gehört OPcache eingeschaltet.

Dauerhafter Speicher: SSD und Festplatte

SSDs speichern Daten in Flash-Speicherchips und haben keine beweglichen Teile. Sie sind deutlich schneller als klassische Festplatten, besonders bei vielen kleinen Zugriffen – genau das, was Datenbanken und Projekte mit Tausenden kleinen Dateien brauchen. Besonders schnell sind SSDs, die über NVMe direkt an die PCI-Express-Leitungen angebunden sind. Festplatten haben ihren Platz heute vor allem noch dort, wo große Datenmengen günstig gelagert werden sollen, etwa für Backups.

Die Hauptplatine

Die Hauptplatine, auch Mainboard genannt, verbindet alles: Prozessorsockel, Speicherbänke, Steckplätze für Erweiterungskarten und SSDs, Anschlüsse für USB und Netzwerk. Sie bestimmt, welche Prozessoren und wie viel Arbeitsspeicher überhaupt eingebaut werden können. Die Firmware, heute meist UEFI, startet den Rechner und übergibt dann an das Betriebssystem.

Grafikkarte und Netzwerk

Die Grafikkarte erzeugt das Bild und ist für Spiele, Videobearbeitung und maschinelles Lernen wichtig. Für klassische PHP-Entwicklung spielt sie kaum eine Rolle – ein Server braucht oft gar keine eigene.

Wichtiger ist das Netzwerk. Für eine Web-Anwendung zählen weniger die reine Bandbreite als die Latenz, also die Verzögerung bis zur Antwort. Ein Server im selben Land wie die Besucher, gute Cache-Einstellungen und wenige, kleine Dateien bringen oft mehr als teure Hardware.

Was ein Entwicklungsrechner braucht

  • Arbeitsspeicher: 16 Gigabyte sind ein solider Wert, wenn Container, Datenbank, IDE und Browser gleichzeitig laufen.
  • SSD: unverzichtbar; ausreichend Platz für Container-Images und Projekte einplanen.
  • Prozessor: mehrere Kerne helfen bei Tests und Analysen, ein Spitzenmodell ist nicht nötig.

Welche Rolle das Betriebssystem spielt, erklärt Windows, macOS und Linux im Vergleich. Den geschichtlichen Hintergrund liefert die Evolution des Personal Computers. Mehr zu OPcache steht im PHP-Handbuch.

Selbstcheck

Warum ist eine Datenbankabfrage in einer Schleife teuer?

Weil jeder Zugriff auf langsamere Speicherstufen oder das Netzwerk Wartezeit kostet – sie summiert sich.

Was macht OPcache?

Es hält den übersetzten Zwischencode von PHP-Skripten im Arbeitsspeicher vor.

Was begrenzt die Zahl gleichzeitiger PHP-Prozesse auf einem Server?

Vor allem der verfügbare Arbeitsspeicher.

Passt dazu

Computerwissen

Betriebssysteme im Vergleich

Aufbau, Stärken und Schwächen der drei großen Systeme – und was das für PHP bedeutet.

4 Min. Lesezeit
Computerwissen

Quantencomputing

Qubits ohne Formeln, realistische Anwendungen und die Folgen für Verschlüsselung im Web.

4 Min. Lesezeit