2009-05-07 6 views
6

Actuellement nous avons MS SQL Server 2005 (32 bits). Nous avons 1 assembly (et seulement 1 assembly) que nous utilisons pour le cryptage et le décryptage. Seulement 512 Mo de mémoire système sont alloués à CLR. L'assemblage fonctionne assez lentement, et j'essaie d'exclure si c'est de la mémoire ou non. Lorsque j'exécute le code SQL dans l'analyseur de requête (pas dans un assemblage), il s'exécute rapidement. Nous utilisons des clés symétriques et des certificats pour le cryptage/décryptage.Allocation de mémoire SQL Server CLR

Y at-il une quantité de mémoire recommandée à allouer à CLR? Comment puis-je savoir si un manque d'allocation de mémoire ralentit les performances de cet assemblage? Comment avez-vous déterminé que 512 Mo ont été affectés?

+0

Que voulez-vous dire par « Quand je lance le code SQL dans l'Analyseur de requêtes (pas dans un assemblage) il fonctionne rapidement. »? Beaucoup de problèmes de perf peuvent être suivis jusqu'à un goulot d'étranglement spécifique. Est-ce que votre CPU est ancré alors que vous l'observez comme étant lent? Les méthodes CLR exercées par elles-mêmes (en dehors de la base de données) fonctionnent-elles à une échelle différente de ce qu'elles semblent dans la base de données? – ahains

+0

J'exécute le code contenu dans l'assembly dans une fenêtre de requête au lieu de exec l'assembly lui-même (c'est un SP). C'est dans un assemblage en ce moment pour cacher les mots de passe certificat/clé d'autres développeurs. Je vais vérifier avec le patron pour voir ce qui se passe avec le CPU –

Répondre

7

Jetez un oeil à l'article que j'ai écrit sur SQL Server memToLeave. Vous devez garder à l'esprit que la partie de la mémoire utilisée pour exécuter le code géré CLR réside en dehors de l'espace de processus SQL Server. Faites-moi savoir comment vous vous entendez ou si vous avez d'autres questions.

SQL Server Memory Configuration, Determining MemToLeave Settings

+0

Salut John, Mon patron m'a dit qu'il a assigné 512 à memToLeave après avoir eu des erreurs appelant l'assemblée. Je crois que toute la mémoire a été allouée à SQL Server avant cela. Merci pour le lien. Je vais essayer d'optimiser mon assembly et de surveiller l'utilisation du processeur. –

+1

De rien. N'hésitez pas à me laisser un message si vous avez besoin d'aide supplémentaire. –

Questions connexes