web-dev-qa-db-fra.com

VMware ESXI - Old 32bit Software Performance Performance sur Multi Core

Je suis fou de 2 jours maintenant et je demande de l'aide.

J'ai un programme développé à Delphi (début des années 2000 sur) qui accède à une base de données Firebird V3, actuellement installé sur la même machine (Windows Server 2016 X64 - DB et programme sont X86).

La machine est un VM configuré sur VMware Esxi, je suis arrivé au point: Si je configure le VM _ avec seulement 1 VCPU, le programme fonctionne très bien, si je le confie également avec 2 VCPUS (1 socket et 2 cœurs) ou plus, la performance est réduite de moitié.

Le problème est qu'en ne laissant qu'un seul VCPU, la CPU est perpétuellement à 100%, même pour les travaux de Windows Server (par exemple, rechercher des mises à jour et autres choses).

Avez-vous des conseils?

PS: Je ne peux pas passer à Firebird x64 car de nombreuses bibliothèques sont x86.

PPS: le système d'exploitation sur le VM est Windows Server 2016 Standard ED

3
MenInTheMiddle

C'est un problème de connaissances de Firebird.

J'ai géré certains clients qui sont sur Firebird pour divers logiciels et que les statistiques de Multhreading sont difficiles à configurer avec le .conf, mais vous devez d'abord installer Firebird avec les paramètres dont vous avez besoin pour l'utilisation de MulticPU, Classic Server.

enter image description here

N'oubliez pas que l'application clientèle a également besoin de la bibliothèque de sécurité multithreadin si vous voulez être sûr.

bibliothèque client de fil-sécurité

Thread-safe Client Library

Dmitry Yemanov
Vladyslav Khorsun
Alex Peshkov

Tracker reference CORE-707.

The client libraries, including the embedded one, can now be used in multi-threaded applications without any application-level

synchronisation.

0
yagmoth555