Étape 0. Créez l'application. Il est impossible de dire la performance réelle d'un système multi-ordinateur comme vous le décrivez à partir de spécifications "papier" ... Vous devez l'essayer et voir ce qui détient les plus grands ralentissements ... Ceci est traditionnellement physique IO, mais pas toujours ...
Étape 1. Profil avec exemples de jeux de données dans un environnement isolé. Ceci est une métrique brute. Vous n'essayez pas d'isoler ce qui prend le temps, juste de mesurer le temps nécessaire pour exécuter les règles.
Que signifie environnement isolé? Vous souhaitez utiliser les mêmes types de matériel réseau entre les machines, mais n'autorisez aucun autre trafic sur ce segment de réseau. Cela introduit trop de variables à ce stade.
Que signifie le profil? Avec le matériel actuel, mesurez le temps nécessaire pour terminer dans les circonstances suivantes. Ecrivez un programme pour automatiser la génération de données.
Scénario 1. 1 000 des règles les plus simples possibles.
Scénario 2.1 000 des règles les plus complexes auxquelles vous pouvez raisonnablement vous attendre à ce que les utilisateurs entrent.
Scénarios 3 & 4. 10 000 Le plus simple et le plus complexe.
Scénarios 5 & 6. 25 000 et les plus complexes Simplest
Scénarios 7 & 8. 50 000 et les plus complexes Simplest
Scénarios 9 & 10. 100 000 et les plus complexes Simplest
Étape 2. Anaylze les données.
Voir s'il y a des tendances dans le temps d'achèvement. Déterminez s'ils apparaissent liés strictement au volume des règles ou si la complexité prend également en compte ... Je suppose que cela sera le cas. Développer une ligne de tendance qui montre combien de temps vous pouvez vous attendre à prendre s'il y a 200 000 et 500 000 règles. Effectuez un autre passage à 200 000. Voyez si la ligne de tendance est correcte, sinon, révisez votre méthode de développement de la ligne de tendance. Étape 3. Mesurez l'activité de la base de données et du réseau lorsque le système traite les 20 000 ensembles de règles. Voir s'il y a plus d'activité qui se passe avec plus de règles. Si c'est le cas, plus vous accélérerez le débit vers et depuis le serveur SQL, plus il sera rapide.
Si ceux-ci sont « relativement faible », alors la vitesse CPU et RAM sont probablement où vous voulez muscler la spécification des machines demandé ...
Bien sûr, si tous ces tests va coûter votre employeur plus que d'acheter le matériel serveur le plus robuste possible, il suffit de quantifier le coût du temps passé à tester par rapport au coût d'achat du meilleur serveur et d'en avoir fini et de peaufiner votre application et le SQL que vous contrôlez ...
Notez que si vous utilisez un ensemble basé à la place de RBAR, vous aurez très probablement besoin de moins de ressources et d'une fenêtre de temps plus courte pour le faire. –