Heim > Artikel > Backend-Entwicklung > So erhalten Sie eine detaillierte Einführung in die XML-Dokumentgröße
Das Format und die Größe von XML-Dokumenten sind nicht sicher. Einige umfassen möglicherweise nur wenige Zeilen, während andere mehrere Megabyte groß sein können. Sie fragen sich vielleicht, ob Sie die Größe des XML-Dokuments kennen müssen. Und wenn die Leistung zum Hauptproblem wird, ist es ein Muss, die Größe des XML-Dokuments zu kennen.
Aus Leistungssicht gibt es zwei Arten von Methoden zur Verarbeitung von XML-Dokumenten. Die Stapelverarbeitung benötigt weniger Zeit zum Parsen von Dokumentengruppen. Die Echtzeitmethode besteht darin, Dokumente in Echtzeit zu verarbeiten. Die Leistung im Stapelmodus wird daran gemessen, wie viele Dokumente in einem bestimmten Zeitraum verarbeitet werden, während die Leistung im Echtzeitmodus ähnlich gemessen wird, jedoch anhand der Zeit, die für die Verarbeitung eines Dokuments benötigt wird.
Szenarien
Stellen Sie sich vor, Sie haben ein System, das in Echtzeit arbeitet, beispielsweise einen Webserver. Dieses System muss Bestellungen von Kunden in Echtzeit empfangen und sofort auf diese Bestellung reagieren.
Dieses System kann offensichtlich nicht für die Stapelverarbeitung verwendet werden. Als einfache Schätzung: Geht man davon aus, dass es sich um eine sehr einfache Bestellung mit nur zehn Artikeln handelt, wird das generierte XML-Dokument relativ klein sein, etwa 4 KB pro Dokument. Verwenden Sie in diesem Fall das DOM, um das empfangene Dokument zu analysieren.
Wenn Sie nur wenige Bestellungen pro Stunde haben, ist die Systemleistung für Sie kein Problem. Aber denken Sie langfristig: Eines Tages wird die Anzahl der Bestellungen so groß sein, dass Sie erkennen, dass die Systemleistung verbessert werden muss.
Jetzt beginnen Sie darüber nachzudenken, die Leistung zu verbessern, um der erhöhten Belastung gerecht zu werden. Ihre Bestelldokumente sind bereits klein und es macht keinen Sinn, sie in einem größeren Dokument zusammenzuführen. Aus vertikaler Sicht können Sie die Verarbeitungskapazität des vorhandenen Systems erhöhen; aus horizontaler Sicht können Sie weitere Systeme hinzufügen, um die Last zu verteilen.
Wenn Sie sich ein ganz anderes Feld ansehen, haben Sie es jetzt mit einem großen Data Warehouse zu tun. Ganz anders als auf einem Webserver übertragen Sie nun über FTP XML-Dokumente mit einer durchschnittlichen Größe von 300 MB. Wer weiterhin das DOM zum Parsen von XML-Dokumenten nutzt, gerät schnell in große Schwierigkeiten. Im Gegenteil, es ist viel besser, wenn Sie SAX verwenden, das die eingehenden XML-Dokumente direkt analysieren kann, ohne sie vorher in den Speicher laden zu müssen.
Dokumentgröße ändern
Manchmal treten besondere Umstände auf und Sie müssen die Größe des XML-Dokuments ändern. Stellen Sie sich vor, Sie haben einen Webserver, der XML-Dokumente wie zuvor in Echtzeit verarbeitet, aber zu diesem Zeitpunkt beträgt die Größe aller Dokumente 400 MB statt 4 KB. Sie können die DOM-Methode nicht verwenden, da sie zu viel Speicher beansprucht. Da es sich jedoch um ein Echtzeitsystem handelt, ist die Leistung sehr wichtig. Sie können SAX verwenden, aber es erfordert Zeit und einen leistungsstarken Prozessor.
In diesem Fall können Sie die Systemleistung verbessern, indem Sie die Dokumentgröße ändern. Sie können beispielsweise ein 400-MB-Dokument in 10 40-MB-Dokumente oder 40 kleine 10-MB-Dokumente aufteilen, was effizienter ist als die Verarbeitung eines 400-MB-Dokuments. Auf diese Weise können Sie mit der DOM-Methode Dateien zur Verarbeitung in den Speicher einlesen und zeitnah auf jede Dokumentanforderung reagieren. Sie können auch irrelevante Dokumente ausräumen.
Eine ähnliche Situation gibt es bei der Stapelverarbeitung. Stellen Sie sich vor, Sie verarbeiten Tausende von 4-KB-Dokumenten mithilfe der DOM-Stapelverarbeitung. Der beste Weg besteht darin, tausend Dateien zu einer 4-MB-Datei zusammenzuführen. Denn das Laden jedes Dokuments nimmt Systemzeit in Anspruch (egal ob DOM oder SAX). Durch das Zusammenführen tausender Dokumente zu einem müssen Sie nur ein einziges Dokument laden, was tausendmal weniger Zeit in Anspruch nimmt.
Das Obige ist eine detaillierte Einführung zum Ermitteln der XML-Dokumentgröße. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). !