Maison  >  Article  >  développement back-end  >  Comment obtenir une introduction détaillée de la taille du document XML

Comment obtenir une introduction détaillée de la taille du document XML

黄舟
黄舟original
2017-03-03 17:07:211715parcourir

Le format et la taille des documents XML ne sont pas certains. Certains peuvent ne comporter que quelques lignes, tandis que d’autres peuvent contenir plusieurs mégaoctets. Vous vous demandez peut-être si vous avez besoin de connaître la taille du document XML. Et lorsque les performances deviennent le principal problème, il est indispensable de connaître la taille du document XML.


Du point de vue des performances, il existe deux types de méthodes de traitement des documents XML. Le traitement par lots prend moins de temps pour analyser des groupes de documents. La méthode temps réel consiste à traiter les documents en temps réel. Les performances en mode batch sont mesurées par le nombre de documents traités au cours d'une certaine période de temps, tandis que les performances en mode temps réel sont mesurées de la même manière, mais en termes de temps nécessaire pour traiter un document.


Scénarios
Imaginez que vous disposez d'un système qui fonctionne en temps réel, comme un serveur Web. Ce système doit recevoir les commandes des clients en temps réel et doit répondre immédiatement à cette commande.

Ce système ne peut évidemment pas être utilisé pour un traitement par lots. À titre d'estimation simple, en supposant qu'il s'agit d'une commande très simple comportant seulement dix éléments, le document XML généré sera relativement petit, environ 4 Ko par document. Dans ce cas, utilisez le DOM pour analyser le document reçu.

Si vous n'avez que quelques commandes par heure, les performances du système ne sont pas un problème pour vous. Mais pensez à long terme : un jour, le nombre de commandes sera si important que vous réaliserez que les performances du système doivent être améliorées.

Maintenant, vous commencez à penser à améliorer les performances pour vous adapter à la charge accrue. Vos documents de commande sont déjà petits et il ne sert à rien de les fusionner dans un document plus volumineux. D'un point de vue vertical, vous pouvez augmenter la capacité de traitement du système existant ; d'un point de vue horizontal, vous pouvez ajouter davantage de systèmes pour répartir la charge.

En regardant un autre domaine complètement différent, vous avez maintenant affaire à un grand entrepôt de données. Complètement différent d'un serveur Web, vous utilisez désormais FTP pour transférer des documents XML d'une taille moyenne de 300 Mo. Si vous utilisez toujours le DOM pour analyser des documents XML, vous rencontrerez rapidement de gros problèmes. Au contraire, ce sera bien mieux si vous utilisez SAX, qui peut analyser directement les documents XML entrants sans avoir à les charger en mémoire au préalable.


Modifier la taille du document
Parfois, vous rencontrerez des circonstances particulières et devrez modifier la taille du document XML. Imaginez que vous disposez d'un serveur Web qui traite les documents XML en temps réel comme auparavant, mais qu'à l'heure actuelle, tous les documents font 400 Mo au lieu de 4 Ko. Vous ne pouvez pas utiliser la méthode DOM car elle consomme trop de mémoire. Mais comme il s’agit d’un système en temps réel, les performances sont très importantes. Vous pouvez utiliser SAX, mais cela nécessite du temps et un processeur puissant.

Dans ce cas, vous pouvez améliorer les performances du système en modifiant la taille du document. Par exemple, vous pouvez diviser un document de 400 Mo en 10 documents de 40 Mo, ou 40 petits documents de 10 Mo, ce qui est plus efficace que le traitement d'un seul document de 400 Mo. De cette façon, vous pouvez utiliser la méthode DOM pour lire les fichiers en mémoire pour traitement et répondre à chaque demande de document en temps opportun. Vous pouvez également effacer les documents non pertinents.

Il existe une situation similaire dans le traitement par lots. Imaginez que vous traitez des milliers de documents de 4 Ko via le traitement par lots DOM. La meilleure façon est de fusionner mille fichiers en un seul fichier de 4 Mo. Car le chargement de chaque document prend du temps système (que ce soit DOM ou SAX). En fusionnant mille documents en un seul, vous n'avez à charger qu'un seul document, ce qui prend mille fois moins de temps.


Ce qui précède est une introduction détaillée sur la façon d'obtenir la taille du document XML. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php.cn). !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn