SQL Reporting services: Premier appel est très lent
J'ai installé un rapport SQL server (2008 R2), avec des rapports. Mais j'ai quelques problèmes de performances.
Le premier appel de la journée pour le serveur(va sur le rapport de l'interface par exemple), est TRÈS lent(quelque chose comme 30-45seconds au mieux).
La génération de rapport est alors "rapide"(1 à 2 secondes).
La prochaine des appels vers le serveur sont toujours jeûne jusqu'à la prochaine journée. J'ai l'impression qu'il charge beaucoup de chose dans la mémoire. Mais ce qui peut prendre de 30 à 45 secondes pour être chargé dans la mémoire??? Et comment le charger qu'une seule fois?
Le serveur est assez bon(quad core, 8 GO de ram, jamais près de ses capacités pour l'instant).
Quel est le problème? Comment puis-je résoudre ce problème ?
Ces rapports sera lancé seulement 4-5 fois par semaine, de sorte qu'ils seront toujours lent si je ne peux pas changer cela. Et depuis qu'il est disponible pour le client, je ne peux pas leur faire comprendre(et le rapport est appelé par l'intermédiaire d'un site internet, donc je risque d'avoir de délai d'attente).
Merci beaucoup
OriginalL'auteur J4N | 2012-06-26
Vous devez vous connecter pour publier un commentaire.
Il semble être un SSRS question. Il n'y a rien de mal avec votre rapport.
C'est "normal" que SSRS prend plus de temps à charger la première fois que vous accédez à elle après un long moment d'inactivité. Le problème est causé par la façon dont SSRS œuvres et SSRS régulièrement redémarre domaine d'application après une période de temps spécifique. Après le domaine d'application est redémarré, puis lors de la première demande à l'SSRS il doit charger tous les paramètres et il faut un temps assez long.
Cette blog montrent une solution de contournement pour la situation
🙂 J'ai été vraiment heureux, ce matin, parce que cela a fonctionné! Savez-vous pourquoi SSRS besoins régulièrement redémarre le domaine d'application?
pas vraiment 🙁 mais au moins, nous le savons, un travail autour de hahah
Ce lien ne fonctionne plus. A la façon de contourner été re-publié n'importe où?
Ce blog est la meilleure solution, mais le script a besoin d'être modifié. Au lieu de frapper Dossier.aspx, vous devez frapper une page réelle, voir ma réponse ci-dessous:
OriginalL'auteur Diego
Voici le script powershell que j'ai écrit pour résoudre le problème. C'est la configuration que l'exécution d'une tâche 1:00:
OriginalL'auteur SChalice
La meilleure solution qui me vient en tête est de publier le "curl" commande à l'adresse http de la page du rapport à l'aide via windows commande de traitement par lots dans un service windows. Ce couru jusqu'à la page(s) tous les matins avant que les utilisateurs sont arrivées.
N'avez pas accès au code (travail était il y a longtemps), mais cette question montre comment utiliser curl:
http://blogs.plexibus.com/2009/01/15/rest-esting-with-curl/
OriginalL'auteur Preet Sangha
Que Diego a dit, SSRS a certaines questions. Le premier appel qu'elle est lente, concernant la configuration de votre serveur. Je vous recommande la configuration suivante pour ajouter dans rsreportserver.config (situé si vous ne connaissez pas C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\ )
Si vous souhaitez augmenter la taille mémoire maximale utilisée par SSRS: (ce qui signifie que 7 GO)
Si vous voulez améliorer le premier appel, vous pouvez régler (en minutes)
Fait SSRS a un reset (recycler) qui nettoie son tampon. Par défaut, son placé à 720 min (12h) donc c'est pourquoi si vous ouvrez un rapport chaque matin, il fait de la charge très lente.
Comme vous en avez besoin vous pouvez définir le temps de recyclage plus élevé (2-3 jours). Je ne recommande pas plus de temps parce que le tampon se remplit et vous obtiendrez seulement les pages vides, de sorte que vous aurez à redémarrer manuellement Reporting Services.
OriginalL'auteur Mihai
Il peut être tout à fait sans rapport avec SQL Server. Essayez de voir si ce n'est pas le code de signer la liste de révocation de vérifier la question, voir Fix lent démarrage de l'application en raison de signe code de validation
OriginalL'auteur Remus Rusanu
J'ai converti la requête principale et la liste déroulante des contrôles sur la page à charger à partir de procédures stockées, il fait une différence de 5 sec dans le processus de chargement.Évitez d'utiliser tout inline requêtes.
OriginalL'auteur Arif Imtiaz