2010-03-16 3 views
1

Une application que je gère a récemment commencé à faire l'objet de longues périodes de temps requises pour exécuter un rapport dans SQL Server Reporting Services. Les rapports en cours d'exécution ne sont pas terriblement complexes. Il existe plusieurs procédures stockées (entre 5 et 8) qui retournent n'importe où d'une poignée à 8000 enregistrements au total. Les rapports sont généralement de 2 à 100 pages. On peut argumenter (et j'ai) l'avantage d'un rapport de 100 pages, mais le client paie la note. Quoi qu'il en soit, le problème est que même les rapports avec 500 enregistrements (11 pages) retournés prennent 5 minutes pour revenir au navigateur. Dans le journal d'exécution, le TimeDataRetrieval est de 60 secondes, mais le TimeProcessing est de 235 secondes. Il me semble bizarre que ma requête s'exécute si rapidement, mais il faut beaucoup de temps à Reporting Services pour traiter les données.SQL Server Reporting Services - Fast TimeDataRetrieval - Long TimeProcessing

Toutes les suggestions sont grandement appréciées.

Cordialement,

Bernie

Répondre

2

oublié de poster une mise à jour à ce sujet. J'ai trouvé le problème. Le problème était associé à une image avec une source externe sur le rapport. Récemment, le serveur de rapports a été interdit d'accès à Internet. Ainsi, lorsque les services de reporting traitaient le rapport, ils essayaient de faire un HTTP GET pour récupérer l'image. Étant donné que le serveur a été refusé l'accès Internet sortant, la demande finirait par expirer avec une erreur 301. Malheureusement, cette période d'attente a été très longue, et je suppose que cela s'est produit pour chaque page du rapport, car plus le rapport est long, plus le temps de traitement est long. En tout cas, je n'ai pas réussi à obtenir l'accès internet sortant rouvert sur le serveur alors j'ai pris un chemin différent. Étant donné que le serveur Web sur lequel l'image était hébergée et le serveur de rapports sur le même réseau local, j'ai pu modifier le fichier HOST sur le serveur de rapports avec le domaine des hôtes d'images et l'adresse IP locale. Par exemple:

www.someplacewheremyimageis.com/images/myimage.gif

serveur de rapports essaierait de résoudre ce via son dns local et sans doute obtenir l'adresse IP externe XXXX

donc j'ai modifié le HOST fichier sur le serveur de rapports en ajoutant la ligne suivante la

192.168.XX www.someplacewheremyimageis.com

Alors maintenant, lors de la déclaration des services essaie de générer le rapport, il décide de ce qui précède interne Adresse IP et inclut l'image dans le rapport.

Les rapports sont maintenant exécutés plus rapidement que jamais.

Ce sont ces types de problèmes que vous comprendre avec un éclair d'inspiration à 4h30 du matin après des heures de battre votre tête contre votre clavier, qui le rendent merveilleux et terrible pour être un développeur de logiciels.

Espérons que cela aide quelqu'un.

Merci,

Bernie

Questions connexes