2 Punkte von gg5823 12 일 전 | Noch keine Kommentare. | Auf WhatsApp teilen

Fly.Board ist eine Blog-Engine, die ein Entwickler, ermüdet von der Komplexität von Spring und der Schwerfälligkeit von WordPress, direkt in C11/C23 implementiert hat. Hier teilt er die bestätigte Leistung, mit der ein einzelnes Binärprogramm in einer HTTP/3-(QUIC)-über-TLS-1.3-Umgebung C10k bewältigt.

Kernmerkmale

  • Minimalist Stack: Eigenes Framework (CWIST) und Aufbau als einzelnes Binärprogramm
  • Pure SSR (Server-Side Rendering): Minimale Rendering-Latenz auf der Client-Seite
  • LibTTAK: Ein benutzerdefiniertes Speichermanagement-Tool, das asynchrone Verarbeitung und Speichersicherheit gewährleistet, ohne die Geschwindigkeit von C aufzugeben
  • High Performance: Im Idle-Zustand 20 MB; selbst bei 10.000 gleichzeitigen Verbindungen latenzarmer Betrieb mit einem RSS von 369 MB
  • Modern Protocol: Unterstützung für HTTP/3 (QUIC) und TLS 1.3 auf Basis eines eigenen C-Stacks

C10k-Benchmark-Ergebnisse (gemessen mit /usr/bin/time -v)

  • Gleichzeitige Verbindungen: 10.000 (24 Minuten 46 Sekunden gehalten)
  • Speicherbelegung: Maximaler RSS von ca. 369 MB (ca. 37 KB pro Verbindung)
  • I/O-Effizienz: 0 Major Page Faults (kein Flaschenhals durch Festplatten-I/O)
  • Datenstabilität: Beim Empfang von SIGINT wurden Daten über NukeDB mit 89.208 FS-Outputs sicher gespeichert

Vergleich mit bestehenden Stacks

  • WordPress: Hoher Ressourcenverbrauch auf Basis von PHP-FPM/MySQL, mehrstufiges Caching praktisch unverzichtbar
  • Pure SSR (Server-Side Rendering): Minimale Rendering-Latenz auf leistungsschwachen Geräten
  • Spring Boot: Hohe Anfangskomplexität und hoher Speicherverbrauch durch JVM-Heap und DI-Container
  • Fly.Board: Bewältigt C10k selbst auf VPS mit weniger als 1 GB ohne zusätzliche Caching-Schicht mit Reserven

Schwächen und nächste Aufgaben

  • Für das Phänomen, dass die System Time höher als die User Time ist, muss die Effizienz der Userspace-Verarbeitung verbessert werden
  • Zusätzlich zu lesezentrierten Benchmarks soll die Schreiblast der SQLite-basierten Datenschicht (gleichzeitiges Schreiben von Kommentaren/Beiträgen) noch verifiziert werden

Links

  • GitHub: https://github.com/gg582/fly.board
    Das Projekt wurde mit Blick auf ein Gleichgewicht zwischen technischer Reife und praktischer Nutzbarkeit entwickelt. Es soll eine gute Alternative für Entwickler sein, die einen persönlichen Blog auf einem leistungsschwachen VPS betreiben möchten. Feedback ist willkommen!

Noch keine Kommentare.

Noch keine Kommentare.