Problème de performance ?

Le
Oriane
Bonjour,

Je fais tourner MOSS sur un serveur DELL bi-pro 2003, avec 2 Go de RAM. De
plus nous développons sur une autre instance Sql Server. Lorsque nous sommes
deux à développer avec Visual Studio 2008 en TS, c'est un peu lent

En affichant la colonne "Virtual size" sur Process Explorer (de
SysInternals), je vois donc trois instances de Sql Server 2005 qui prennent
chacune 1,7 Go. la CPU est très peu utilisée. Pour la partie I/O, les
processus srcss.exe consomment pas mal d'I/O sur les sessions TS, mais bon
ca doit pas être ca qui fout la machine par terre avec une carte à 100 Mo/s
et un bon réseau.

J'ai un fichier d'échange dont j'avais limité la taille à 2,2 Go plus 2 Go
de RAM. Donc je pense déjà à laisser le système prendre autant de disque
qu'il veut pour ce fichier d'échange.

D'un autre côté lorsque j'affiche le gestionnaire de tâches de Windows 2003,
je culmine à 1,6 Go pour la "mémoire utilisée". Tout cela me parait donc
pour le moins obscur

Oriane
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Rudi Bruchez
Le #11885051
Bonjour,

Oriane a écrit:
En affichant la colonne "Virtual size" sur Process Explorer (de
SysInternals), je vois donc trois instances de Sql Server 2005 qui
prennent chacune 1,7 Go. la CPU est très peu utilisée. Pour la partie


...
D'un autre côté lorsque j'affiche le gestionnaire de tâches de Windows
2003, je culmine à 1,6 Go pour la "mémoire utilisée". Tout cela me
parait donc pour le moins obscur...




Je suppose que tu es en 32 bits. Un OS32 bits ne peut adresser
directement que 4 GB de RAM. Par défaut, Windows prends 2 GB et donne 2
GB aux applications. Tu peux changer cela en ajoutant /3GB dazns le
bnoot.ini, pour donner 3 GB de mémoire virtuelle aux applications.

Toute la mémoire au-delà de 4 GB peut être utilisée par SQL Server pour
son cache de données, uniquement, pour cela, il faut le configurer pour
utiliser l'AWE. Cherche ce terme dans l'aide en ligne.

Si tu as plusieurs instances, tu dois limiter la mémoire maximale
occupée par chaque instance, pour éviter que l'une d'elle s'empare de
toute la RAM et diminue les performances des autres

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT
http://www.babaluga.com/
http://rudi.developpez.com/
Oriane
Le #11885041
"Rudi Bruchez" news:
Bonjour,

Je suppose que tu es en 32 bits. Un OS32 bits ne peut adresser
directement que 4 GB de RAM. Par défaut, Windows prends 2 GB et donne 2
GB aux applications.


Dans ce cas pourquoi Windows Server Enterprise 2003 32 bit peut-il gérer
jusqu'à 32 Go de RAM (et même 64 Go en DataCenter) ?

Tu peux changer cela en ajoutant /3GB dazns le
bnoot.ini, pour donner 3 GB de mémoire virtuelle aux applications.


C'est fait.

Toute la mémoire au-delà de 4 GB peut être utilisée par SQL Server pour
son cache de données, uniquement, pour cela, il faut le configurer pour
utiliser l'AWE. Cherche ce terme dans l'aide en ligne.


J'avais cru lire quelque part que Sql Server ne prenait que la mémoire dont
"personne d'autre n'avait besoin".

Si tu as plusieurs instances, tu dois limiter la mémoire maximale
occupée par chaque instance, pour éviter que l'une d'elle s'empare de
toute la RAM et diminue les performances des autres


Oui mais tu ne réponds pas à ma question pricnipale: avec un tel système,
dois-je avoir un comportement anormalement lent ?

Merci quand même
Fred BROUARD
Le #11885021
Oriane a écrit :

"Rudi Bruchez" news:
Bonjour,

Je suppose que tu es en 32 bits. Un OS32 bits ne peut adresser
directement que 4 GB de RAM. Par défaut, Windows prends 2 GB et donne 2
GB aux applications.


Dans ce cas pourquoi Windows Server Enterprise 2003 32 bit peut-il gérer
jusqu'à 32 Go de RAM (et même 64 Go en DataCenter) ?



c'est de la pagination en RAM au lieu de paginer sur le disque.


Tu peux changer cela en ajoutant /3GB dazns le
bnoot.ini, pour donner 3 GB de mémoire virtuelle aux applications.


C'est fait.

Toute la mémoire au-delà de 4 GB peut être utilisée par SQL Server pour
son cache de données, uniquement, pour cela, il faut le configurer pour
utiliser l'AWE. Cherche ce terme dans l'aide en ligne.


J'avais cru lire quelque part que Sql Server ne prenait que la mémoire
dont "personne d'autre n'avait besoin".



non. SQL Server est préemptif devant tout sauf stress OS. Bref en
matière de mémoire il la pique à tout le monde. En sus SQL Server étant
programmé pour tirer partit du max de ressources, le fait de mettre
différentes instances sur un même serveur fait de la concurrences de
mémoire ce qui n'est jamais une bonne chose.


Si tu as plusieurs instances, tu dois limiter la mémoire maximale
occupée par chaque instance, pour éviter que l'une d'elle s'empare de
toute la RAM et diminue les performances des autres


Oui mais tu ne réponds pas à ma question pricnipale: avec un tel
système, dois-je avoir un comportement anormalement lent ?



1) limiter la RAM de chaque instance
2) augmenter la RAM avec AWE
3) limiter le nombre d'instance à 1 par machine
4) utilsier un serveur (machine physique) dédié.

A +



Merci quand même




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Rudi Bruchez
Le #11884991
>> Oui mais tu ne réponds pas à ma question pricnipale: avec un tel
système, dois-je avoir un comportement anormalement lent ?





On ne peut pas répondre miraculeusement à cette question comme ça, sans
information précise. Il faut tracer le comportement de SQL Server avec
le profiler, le moniteur système et les vues dynamiques de gestion.
Tu as des pistes dans cet article :
http://rudi.developpez.com/sqlserver/tutoriel/optimisation/

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT
http://www.babaluga.com/
http://rudi.developpez.com/
Oriane
Le #11884971
Bonjour Fred,
"Fred BROUARD" news:
Oriane a écrit :
Dans ce cas pourquoi Windows Server Enterprise 2003 32 bit peut-il gérer
jusqu'à 32 Go de RAM (et même 64 Go en DataCenter) ?



c'est de la pagination en RAM au lieu de paginer sur le disque.


Et cela est plus rapide que la pagination sur disque je suppose ?

Oriane
Oriane
Le #11884961
Bonjour,
"Rudi Bruchez" news:%23NJs%
Oui mais tu ne réponds pas à ma question pricnipale: avec un tel
système, dois-je avoir un comportement anormalement lent ?





On ne peut pas répondre miraculeusement à cette question comme ça, sans
information précise. Il faut tracer le comportement de SQL Server avec
le profiler, le moniteur système et les vues dynamiques de gestion.
Tu as des pistes dans cet article :
http://rudi.developpez.com/sqlserver/tutoriel/optimisation/


Oui c'est entendu, j'en demande beaucoup ! Mais je veux juste un avis
"éclairé". Avez-vous déjà eu plus d'une instance Sql Server 2005 sur un
serveur DELL bi-pro récent et dans ce cas avez vous constaté que la machine
ramait ?

Après évidemment il faut que je creuse...

Oriane
Rudi Bruchez
Le #11884921
> Oui c'est entendu, j'en demande beaucoup ! Mais je veux juste un avis
"éclairé". Avez-vous déjà eu plus d'une instance Sql Server 2005 sur un
serveur DELL bi-pro récent et dans ce cas avez vous constaté que la
machine ramait ?



La chose qui est certaine, c'est qu'installer deux instances va faire
diminuer les performances, conformément à ce que dit Fred.
Quand à la quantification, c'est vraiment impossible de répondre. C'est
comme si tu demandes à un médecin s'il a déjà constaté que les hommes
blonds de plus de 1m80 ont souvent des rhumes.
Cela dépend de beaucoup de choses, dont, par exemple, la taille de ta
base de données. Mais, clairement, une seule instance sera beaucoup plus
performante.

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT
http://www.babaluga.com/
http://rudi.developpez.com/
Oriane
Le #11884911
Bon je suis passé à une instance en intégrant ma base à l'instance de MOSS.
On va voir (ce qu'on va voir !).

Il se trouve que j'ai posté sur un autre forum, dans lequel j'ai eu cette
réponse avec un pointeur:

"Laurent Falguiere [MVP]" écrit dans le message de
news:
Locate the following registry subkey:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory Management
2. Implement the following registry settings:
PoolUsageMaximum=dword:00000030
PagedPoolSize=dword:ffffffff
3. Restart the computer.




http://portal.loginconsultants.nl/forum/attachments/Terminal_Server_Performance_Tuning.pdf




Merci pour tout
Fred BROUARD
Le #11884901
Oriane a écrit :
Bonjour Fred,
"Fred BROUARD" news:
Oriane a écrit :
Dans ce cas pourquoi Windows Server Enterprise 2003 32 bit peut-il
gérer jusqu'à 32 Go de RAM (et même 64 Go en DataCenter) ?



c'est de la pagination en RAM au lieu de paginer sur le disque.


Et cela est plus rapide que la pagination sur disque je suppose ?



environ 1000 fois !

A +


Oriane




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
jerome
Le #11884891
Bonjour,

Le Database Engine Tuning Advisor est disponible avec toutes les versions de
SQL 2005 car avec ma version Workgroup je ne le trouve pas.

Merci

"Rudi Bruchez" news:%23NJs%
>> Oui mais tu ne réponds pas à ma question pricnipale: avec un tel
>> système, dois-je avoir un comportement anormalement lent ?

On ne peut pas répondre miraculeusement à cette question comme ça, sans
information précise. Il faut tracer le comportement de SQL Server avec
le profiler, le moniteur système et les vues dynamiques de gestion.
Tu as des pistes dans cet article :
http://rudi.developpez.com/sqlserver/tutoriel/optimisation/

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT
http://www.babaluga.com/
http://rudi.developpez.com/


Publicité
Poster une réponse
Anonyme