Nous devons rendre notre système hautement évolutif et il a été développé pour la plate-forme Windows en utilisant VC++. Dites d'abord, nous aimerions traiter 100 demandes (à partir de msmq) simultanément. Quelle serait la meilleure approche? Processus unique avec 100 threads ou 2 processus avec 50-50 threads? Quel est le gain en dehors de la mémoire de processus en cas de seconde approche. fait dans Windows premier temps CPU est alloué à traiter, puis divisé entre les threads pour ce processus, ou OS compte le nombre de threads pour chaque processus et allouer CPU sur la base de threads plutôt que de traiter. Nous remarquons que dans le premier cas, l'utilisation du processeur est de 15-25% et nous voulons consommer plus de CPU. Rappelez-vous que nous aimerions obtenir des performances optimales, donc 100 demandes sont juste par exemple. Nous avons également remarqué que si nous augmentons le nombre de threads du processus au-dessus de 120, les performances se dégradent en raison des changements de contexte.Windows, processus multiples vs threads multiples
Un autre point; notre produit supporte déjà le clustering, mais nous voulons utiliser plus de CPU sur le seul noeud.
Toutes les suggestions seront grandement appréciées.
oui, nous l'avons fait face. base de données est le goulot d'étranglement majeur. de ne pas offenser qui que ce soit, mais nous avons eu de bien meilleures performances avec Oracle que le serveur SQL. mais ici dans notre région la plupart de nos clients collent avec sql server (étant moins cher), donc un vrai goulot d'étranglement pour nous. –