Question

J'utilise JMeter pour tester les performances de notre application. mais j’ai trouvé quand j’envoie 20 requêtes de JMeter, la raison devrait donc être d’ajouter 20 nouveaux enregistrements sur le serveur SQL, mais je trouve seulement 5 nouveaux enregistrements, ce qui signifie que le serveur SQL ignore les autres requêtes (car j’ai et assurez-vous que les nouveaux enregistrements insérés sont envoyés au serveur SQL.)

Quelqu'un a-t-il des idées? Quel est le nombre limite de requêtes que le serveur SQL peut gérer par seconde? Ou dois-je faire une configuration?

Oui, dans ma candidature, j'ai essayé, mais il semble que 5 demandes seulement ont été acceptées, je ne sais pas comment configurer, alors il peut en accepter plus.

Était-ce utile?

La solution

Je ne suis pas convaincu que le nombre de requêtes par secondes soit directement transmis au serveur SQL, ce qui élimine vos insertions. Peut-être une erreur de logique d'application annule-t-elle ou ne réussit-elle pas à valider les insertions. Ou bien l’application ne parvient pas à gérer la concurrence et insère des données enfreignant les contraintes. Je vérifierais également dans les journaux du serveur les blocages.

Autres conseils

Utilisez le contexte SQL Profiler ou le contexte de données LINQ pour vous connecter afin de voir ce qui a réellement été envoyé au serveur, puis déterminez le problème.

Activez le journal de contexte de données comme suit:

datacontext.Log = Console.Out;

En passant, j'ai traité 10 000 transactions par seconde dans SQL Server. Je ne pense donc pas que ce soit le problème.

Cela dépend beaucoup du type de requête que vous effectuez. Vous pouvez avoir plusieurs requêtes demandant des données qui se trouvent déjà dans une mémoire tampon, de sorte qu'aucun accès en lecture au disque n'est requis ou que vous pouvez avoir des lectures, qui nécessitent en fait un accès au disque. Si votre base de données est petite et que vous avez assez de mémoire, vous pourriez avoir toutes les données en mémoire à tout moment - l'accès serait très rapide, vous pourriez alors obtenir plus de 100 requêtes / seconde. Si vous avez besoin de lire un disque, vous êtes dépendant de votre matériel. J'ai opté pour un contrôleur UltraSCSI-160 avec des lecteurs UltraSCSI-160, l'option la plus rapide que vous puissiez obtenir sur une plate-forme de type PC. Je traite environ 75'000 enregistrements chaque nuit (ils sont téléchargés depuis un autre serveur). Pour chaque enregistrement que je traite, le programme effectue environ 4 à 10 requêtes pour placer le nouvel enregistrement dans le "logement" approprié. L'ensemble du processus prend environ 3 minutes. J'utilise cette machine sur une machine AMD Athlon à 850 MHz avec 768 Mo de RAM. J'espère que cela vous donne une petite indication sur la vitesse.

Pour obtenir des tests d'évaluation de performances pour SQL Server et d'autres SGBDR, visitez le Traitement du site Web de Performance Council Council

.

Vous pouvez également utiliser le profileur Sql Server pour vérifier le mode d'exécution de vos requêtes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top