2009-07-16 6 views
0

Nous utilisons un outil de rapport de tiers. L'outil de rapport utilise active-x. Dans un premier temps, nous générons et exécutons une requête selon les filtres, puis un fichier de rapport est créé qui inculpe les données (résultat de la requête). Ensuite, le client télécharge le fichier de rapport. Mais l'opération écrite de dossier est un gros problème pour nous. Que pouvons-nous faire? Prendre des opérations écrites de fichiers dans une autre application et prendre cette application dans un autre pool d'applications peut être une solution? Avez-vous une suggestion? Et comment fonctionne le serveur web, s'exécute? Par exemple, 100 clients se connectent au serveur Web et essaient d'exécuter des rapports. Le serveur Web doit donc créer 100 fichiers pour ces clients. Donc, si les données d'un rapport sont très importantes et que d'autres attendent leur achèvement?problème de performance d'écriture de fichier de site Web

Répondre

0

Votre problème n'est pas très clair. Vous avez dit que l'écriture de fichier est un gros problème, qu'entendez-vous par là? Est-ce lent ou quoi?

Votre application est-elle conçue pour servir un client à la fois? Si non, pourquoi dites-vous que d'autres attendent son achèvement?

Je suppose que votre application peut servir plusieurs clients à la fois. Si la charge est élevée, l'écriture du fichier sera affectée car IO ralentira. Vous devez équilibrer l'application lorsque la charge est divisée entre les instances et que les E/S peuvent être améliorées. Bien sûr, les instances doivent être sur des machines différentes car le problème est d'ordre d'ES. Il pourrait y avoir d'autres problèmes aussi bien que la logique CPU intensive ainsi que la mémoire affamée. Vous devez profiler votre application pour trouver tous les problèmes.

+0

oui vous avez raison, ce n'est pas très clair. Nous avons créé des fichiers de rapport tels que report + userID. Donc, si l'utilisateur ouvre plus d'un navigateur et essaie de générer des rapports; la requête de trois navigateurs va essayer de générer des fichiers portant le même nom –

+0

Mais les rapports sont-ils différents ou sont-ils identiques? Si différent, vous devriez utiliser une convention de nommage différente, probablement un horodatage également dans le nom. Si les rapports sont les mêmes et la génération prend beaucoup de temps, c'est un gaspillage que ça se duplique. Vous devriez mettre en place un mécanisme pour arrêter cela. Mais quel est votre problème actuel, mon explication ci-dessus n'est-elle pas utile? –

0

Pour les rapports volumineux, vous pouvez placer les demandes dans une file d'attente de traitement et demander à vos clients d'attendre quelques minutes avant qu'ils soient prêts. La génération instantanée de rapports pour les grands ensembles de données met beaucoup de pression sur votre système, et il est difficile d'équilibrer la charge. Il se peut que votre site Web transmette des demandes à une file d'attente qui sera éventuellement traitée par des serveurs de génération de rapports distincts. Vous pouvez ajouter plus de ces serveurs pour traiter les éléments de la file d'attente, et ce traitement n'affectera pas les utilisateurs du site, ils devront simplement vivre avec des rapports qui ne sont pas instantanés.

Pensez également au traitement que vous pouvez faire avant de la main pour que tout le traitement ne soit pas «à la demande». S'ils ont les mêmes rapports tous les jours, autorisez-le à être planifié, afin que vos clients n'aient pas l'impression d'attendre trop longtemps pour les rapports.

Les E/S lourdes doivent être déchargées vers des serveurs qui ne traitent pas les requêtes Web client.

+0

Merci. Nous utilisons l'équilibrage de charge. Il y a deux serveurs. Mais les deux traitent les requêtes web des clients. Nous créons donc un nouveau pool d'applications pour les rapports. Mais je ne sais pas exactement si cela peut résoudre le problème. Nous n'avons donc pas de serveurs supplémentaires seulement nous avons un nouveau pool d'applications. Pensez-vous que le web garden peut être une solution pour nous? Et il y a quelques paramètres ici: http://support.microsoft.com/?id=821268 Pensez-vous que ceux-ci peuvent nous aider? –

Questions connexes