Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe
allgemeine Kategorie => Basiswissen / IT-Kompetenz (betriebssystemunabhängig) => Thema von: Andreas am 16. Dezember 2024, 09:00:53

Titel: Geschwindigkeit von PCs / Notebooks
Beitrag von: Andreas am 16. Dezember 2024, 09:00:53

Hier herrscht oft "Fakewissen": es wird total überschätzt, welche Rolle hier die Geschwindigkeit der CPU ( des Prozessors) spielt. Sie spielt eine weit kleinere Rolle als gedacht...

Vielmehr steht die Geschwindigkeit, mit der Daten von den Festspeichern (Festplatten / USB-Sticks, SD-Karten, SSDs) zum Prozessor kommen viel weiter vorne als gedacht. Und über all dem steht die Geschwindigkeit des Dateisystems. So erweckt man jeden Notebook-Oldtimer zu neuem Leben, wenn man ihm anstelle der alten HDD eine SSD spendiert, und einen weiteren Schub gibt es, wenn man ein "schnelles Dateisystem" wählt. Hier wirkt sich wirklich jedes Prozent an Geschwindigkeitsgewinn aus! So sind verschlüsselte Systeme hier eindeutig das Schlusslicht. Alle Daten von den Festspeichern müssen erst noch einen "Entschlüsselungsvorgang" durchlaufen, was das System auf jeden Fall ausbremst.

Arbeitsspeicher ist im Stellenwert auch wichtiger als die CPU-Leistung. Egal, ob der Speicher zum wirklichen Arbeiten mit den Daten oder nur als Festspeicherpuffer dient: ein Zugriff auf den Arbeitsspeicher ist um ein Vielfaches schneller als auf den Festspeicher. So beschleunigt man ältere Geräte auch durch eine Erweiterung des Arbeitsspeichers. Aber der Einfluss ist nicht linear: immer mehr bedeutet nicht gleichermaßen immer schneller. Mit 4GB ist man bei Linux schon sehr gut dabei, 8GB sind perfekt, und jedes GB mehr bringt nicht mehr so viel wie die Änderung von 2GB auf 4GB.

LG
Andreas

Titel: Re:Geschwindigkeit von PCs / Notebooks
Beitrag von: Sebastian am 16. Dezember 2024, 16:20:44

Ja das stimmt CPU ist nicht alles was einen Computer schnell macht. Da spielen, wie Andreas auch schon sagte sehr viele Komponenten zusammen.

Man sollte dabei auch darauf achten, was man mit seinem Computer/Notebook machen möchte, bzw. wie man diesen einsetzt. Würde man hier auf Nackte Zahlen gucken und ein Wettrennen gewinnen wollen, welcher Computer es Schaft (Bei identischer Hardware) eine Datei schneller Schreibt/lesen kann. So hat Andreas durchaus recht, da gibt es keinen zweifel. Aber von was für einen Geschwindigkeits-/vorteil/verlust spricht man hier überhaupt? Sprechen wir von Stunden? Minuten? von Sekunden? Auch das kommt natürlich auf den persönlichen Umgang seines Computers drauf an. Jemand der viele Große Dateien wie Datenbanken, VM Images, Videodateien etc. also mit GBs an Daten hin und her schieben muss, wünscht sich natürlich ein schnelles Dateisystem. Jemand der mehr so Alltagsdinge macht und eher mit vielen kleinen Dateien arbeitet, wird natürlich nicht viel von dem Geschwindigkeitsunterschied zwischen den Dateisystem merken.

Deswegen gibt es nicht das beste Dateisystem oder die perfekte Konfiguration. Jeder sollte vor dem Einrichten seines Systems seinen persönlichen Bedarf ermitteln. Und danach sein System auf sich zuschneiden. Da meine Präferenzen nicht auf Geschwindigkeit liegt, sondern eher auf Datensicherheit. Habe ich mich für ein Ausfall robusteres und flexibleres (dafür langsamer, und komplexeres) Dateisystem mit einer Device-Mapper Verschlüsselung entschieden. Die Komplexität ist der Preis, den man zahlt, um so mehr Funktionen einem zur Verfügung stehen. Man ist natürlich nicht gezwungen, alle Funktionen zu nutzen, also man kann den grad der Komplexität für sich selbst bestimmen.

Dabei habe, ich eigentlich alles getan was ein System komplexer und langsamer machen könnte. Ich nutze ein "langsames" Dateisystem, mein Dateisystem komprimiert zusätzlich (Kostet CPU, lässt SSD länger leben), setzte Verschlüsselung ein und verwende kein TRIM (discard, von Blöcken) um die Verschlüsselung zu unterstützen. (Es erschwert die Lokalisierung von brauchbaren Daten auf den Datenträger von extern).

Zudem habe ich mal auf einem Diagramm versucht zu verdeutlichen, warum Konzept bedingt ein btrfs langsamer ist als ein EXT4. Da dieses Dateisystem aufgrund seiner Aufgaben, die es zu erledigen hat, einfach auch mehr tun muss. Aber genau deswegen hat man sich ja für dieses Dateisystem entschieden, oder? Weil man genau das möchte, was es halt macht (bessere Datenintegrität, oder irgendwelche andere Funktionen nutzen wie z.b. snapshots etc.) halt alles außer Geschwindigkeit.

Das Diagramm ist sehr stark vereinfacht und nicht Vollständig und soll nur grob aufzeigen warum ein EXT4 Schneller ist.

Speichert man eine Datei in ein mit Standardoptionen erstelltes Btrfs Dateisystem ab. So werden die Daten erstmalig auf den Datenträger geschrieben und für diese Daten dann eine CRC (Algorithmus ist austauschbar bei Erzeugung des Dateisystems) Checksumme gebildet. Mithilfe dieser Checksumme kann z.b. Bitrot erkannt werden. Oder auch falls man später Daten dupliziert (durch das DUP Profile oder eines Raids) werden die Daten automatisch wiederhergestellt (Defekte Daten werden mit einer intakten Kopie selbst geheilt). Dies gilt bereits für die Metadaten der Daten, diese werden per Default per DUP Profil redundant gespeichert. Damit diese sich bei einem Systemcrash auf jeden fall Selbstheilen können. Dies macht ein FSCK um das Dateisystem Konsistenz zu halten überflüssig. In meiner Konfiguration werden die Daten vorher noch komprimiert (mehr CPU nötig, langsamer, spart Platz und erhöht die Lebenserwartung einer SSD)

Danach werden die Daten durch ein Device Mapper geschleust, der die Daten verschlüsselt, bevor sie auf den Datenträger geschrieben werden.

EXT4 hingegen Speichert Daten und Metadaten nicht getrennt voneinander und bildet auch nur Prüfsummen für die Metadaten, und hählt diese auch nicht redundant vor. Und macht nach der Speicherung der Daten lediglich noch ein Eintrag in seinen Jounal um das Dateisystem nach einem Systemcrash durch eine FSCK Prüfung wieder in einen Konsistenten zustand zu bekommen.

Wie man sieht, ist ein EXT4 viel simpler und hat auch nicht so viel zu tun wie ein btrfs. Genau deswegen ist ein EXT4 wesentlich schneller, auf Kosten eines kleineren Funktionsumfangs.

Deswegen überlegt euch was ihr benötigt. Wenn ihr nicht wisst, wie man sich die Datenredundanz von btrfs zu nutzen macht, oder auch die ganzen anderen Funktionen nicht braucht. Ist EXT4 auf jeden Fall die bessere Wahl. Verwendet ihr hingegen viele der btrfs Funktionen bei eurer Arbeitsweise, so ist dies natürlich eine Überlegung wert darauf umzusteigen als Funktionen mithilfe von LVM nachzurüsten.

LG
Sebastian

Titel: Re:Geschwindigkeit von PCs / Notebooks
Beitrag von: Andreas am 16. Dezember 2024, 17:17:57

Für mich entscheidet hier in der Tat, wie sich die verwendeten Dateisysteme auf die tägliche Nutzung auswirken. Ich kompiliere oft Firmware, die aus hunderten von Einzelfiles besteht, und da war der Unterschied zwischen BTRFS und EXT4 schon mal 5 Minuten zu 40 Sekunden. Das liegt daran, dass während des Kompilierens jede Menge temporäre Dateien angelegt werden und wieder gelöscht werden. Und da ich bei Programmiertätigkeiten schon mal 30 Mal am Tag einen Kompilationslauf starte, ist der Unterschied schon eklatant. Genauso sieht es bei der Entwicklung von Leiterplatten (PCBs) aus. Der Autorouter, der hier wegen der HF-Tauglichkeit oft auf abgeschlossene Leiterbahnen hin interpolieren muss, muss auch hier jede Menge temporäre Dateien anlegen. Bei EXT4 kann ich kaum zuschauen, so schnell geht das, und bei BTRFS kann ich mir einen Kaffee aus der Küche holen.

Wer nun denkt, EXT4 sei unsicher, der irrt. EXT4 ist ein "journaling file system: bei einem Absturz während eines Schreibvorganges kann genau reproduziert werden, welche Datei(en) davon betroffen sind. Wer regelmäßig Backups pflegt (ein absolutes must-have) kann so Verluste leicht vermeiden. Meistens sind es eh unwichtige (temporäre) Dateien. Ich musste in den letzten 20 Jahren (!!) kein einziges Mal bei einem Systemausfall auf Daten aus dem Backup zurückgreifen - trotz EXT4 Einsatzes. Wer nur Textverarbeitung, Musik hören, Emails lesen/schreiben, Videos anschauen macht, dürfte keinen signifikanten Unterschied zwischen den Dateisystemen bemerken. Aber ich nutze meinen PC als Werkzeug, um Dinge erledigen zu können, die ich ohne ihn nicht erledigen könnte. Und Werkzeuge müssen einfach und effizient sein, damit sie bei der Arbeit Spaß machen. Klar lege ich dabei auch Wert auf Nachhaltigkeit, Privatsphäre, geringe Kosten. Aber die Effizienz steht auch ganz weit oben...

Titel: Re:Geschwindigkeit von PCs / Notebooks
Beitrag von: Sebastian am 16. Dezember 2024, 19:34:35

Das ist genau das was ich meinte, das man sich vorher Gedanken machen sollte, welches Dateisystem man verwenden möchte. Genau das hat Andreas getan, und für seine Arbeitsweise ist EXT4 dann auf jedenfall besser. Ich wiederum habe kaum nutzen von der Geschwindigkeit von EXT4, da ich nur hin und wieder etwas am Computer mache. Da habe ich von den vorher erwähnten btrfs Funktionen mehr von.

Zudem wollte ich mit dem erwähnen, das btrfs noch ein wenig mehr macht für die Datenintegrität, nicht sagen das EXT4 unsicher sei. Das auf keinen Fall. EXT4 ist ein sehr lang erprobtes Dateisystem das seine Datensicherheit nicht mehr beweisen muss. Man weis wie EXT4 arbeitet und was man von dem Dateisystem erwarten kann. Das Dateisystem gibt es final, seid 2008 und nicht ohne Grund ist es das Standarddateisystem bei den meisten Linux Distributionen. btrfs wird zwar langsam von einigen Distributionen als Standard genutzt. Der Standard kann zwar eine gute Richtschnur sein. Um aber das Beste aus seiner Hardware herauszuholen, die sich nach der eigenen Arbeitsweise richtet, sollte man dort Anpassungen vornehmen, wo es nötig ist, und vom Standard abweichen.
Und das ist der große Vorteil den euch nur Linux bieten kann. Ihr könnt von Standard abweichen, und eure System nach euren Bedürfnissen anpassen! Diese feingranulare Freiheit bietet euch kein anderes Betriebssystem

Das Einzige, was Linux euch für dieses Geschenk abverlangt ist, das ihr euch mit der Materie beschäftigt, und euch das Wissen selbst aneignet, um diese Freiheit auch nutzten zu können. Ihr habt dafür genug Werkzeuge um an das Freie wissen zu kommen. Und durch das Internet hat man es so bequem wie es nur geht. Man muss noch nicht mal mehr in eine Bibliothek laufen, um nach Wissen zu suchen. Man kann alles aus seinen eigenen 4 Wänden recherchieren.

vor 2 Wochen, hatte ich auch noch nur ober flächiges wissen über btrfs und kannte nur grob dessen Vorzüge. Nach dem Lesen der kompletten Dokumentation https://btrfs.readthedocs.io/ würde ich sagen, habe ich davon jetzt schon eine bessere Vorstellung was es kann, wofür, und wie es funktioniert. Wie immer fählt mir hier nur die gängige Praxis. Aber ich weiß jetzt, wonach ich suchen müsste, wenn ich vorhabe etwas damit zu tun.

LG
Sebastian

Titel: Re:Geschwindigkeit von PCs / Notebooks
Beitrag von: Andreas am 17. Dezember 2024, 08:17:13

Das stimmt! Linux ist das am besten dokumentierte Betriebssystem der Welt. Und Wissen über IT-Basis und auch Linux findet man zu Hauf im Internet. Allerdings ist das Wissen kein "Insel-Wissen" - es ist ein Gebäude. Vieles hängt miteinander zusammen, und man kommt nicht drum herum, sich mit dem gesamten Stoff auseinanderzusetzen. Die Suche nach punktuellen Lösungen wird auf Dauer nicht zu Wissen führen...

LG
Andreas


Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.