2010-11-18 37 views
1

Je cherche un moyen de trouver des goulots d'étranglement dans le serveur SQL et il semble que plus de 32 Go de RAM et plus de 32 spindels sur 8 cœurs ne suffisent pas. Existe-t-il des mesures, des meilleures pratiques ou des comparaisons matérielles (c'est-à-dire des transactions par seconde)? Notre fermeture quotidienne prend des heures et je le veux en quelques minutes ou en temps réel si possible. Je n'ai pas pu fusionner plus de 12k lignes/sec. Pour l'instant, j'ai dû diviser le trafic à plus d'un serveur, mais est-ce une bonne solution pour ~ 50 Go de base de données? Fusionner est inclus dans SP et conservé aussi simple que possible - dédupliquer l'entrée, insérer de nouvelles lignes, mettre à jour les lignes existantes. J'ai trouvé que plus nous mettons de lignes dans une seule fusion, plus nous obtenons de lignes par seconde. Le serveur d'applications s'exécute dans plusieurs threads et utilise toute la mémoire et le processeur de son serveur dédié.SQL HW à la ration de performance

Répondre

3

Suivez une méthodologie telle que Waits and Queues pour identifier les goulots d'étranglement. C'est exactement ce qui est conçu pour. Une fois que vous avez identifié le goulot d'étranglement, vous pouvez également juger si un problème d'approvisionnement et d'étalonnage du matériel (et si oui, quel matériel est le goulot d'étranglement), ou si c'est quelque chose d'autre.

0

L'idée de base est d'éviter d'avoir un accès aléatoire à un disque, à la fois en lecture et en écriture. Sans faire d'analyse, une base de données de 50 Go a besoin d'au moins 50 Go de RAM. Ensuite, vous devez vous assurer que les index se trouvent sur une broche séparée des données et des journaux de transactions, que vous écrivez le plus tard possible et que les tables critiques sont réparties sur plusieurs broches. Est-ce que tu fais tout ça?

+0

éviter l'accès aléatoire est un défi. Personne ne sait quelles lignes seront mises à jour dans le prochain lot. La situation actuelle est ~ 30-40k fusionne (principalement des mises à jour) par seconde et c'est suffisant pour maintenant et les prochains mois. – Pavel242