Opinions sur un serveur SQL

Opinions sur un serveur SQL - Windows & Software

Marsh Posté le 08-02-2005 à 16:30:33    

Salut,
 
Imaginons un serveur SQL 2000 sous Windows 2000. Ce serveur est un bi PIII 800 avec 1 Go de RAM, 1,5 Go de SWAP sur la partition système.
 
En production ce serveur a cette tête :
 
http://img80.exs.cx/img80/8574/db2xk.jpg
 
J'aimerai avoir vos avis la dessus, pour moi la machine meriterait un bon upgrade Mémoire.
 
Merci


Message édité par fofoul le 08-02-2005 à 17:11:18
Reply

Marsh Posté le 08-02-2005 à 16:30:33   

Reply

Marsh Posté le 08-02-2005 à 16:36:39    

Moi je pense qu'il est parfait la...
regarde le memory usage, la ram est utilisée par les process, le reste pour le cache, soit un total de 1 Go. (normal) mais il ne touche pas vraiment au 1,5 Go de swap, ce qui prouve qu'il n'a pas de gros probleme de ram.
Pour vérifier qu'il est pas juste a la limité de swaper, il faudrat voir la memory usage par process...
Mais visiblement augmenter la ram ne ferait qu'ameliorer un peu les temps d'acces vu que le cache serait plus gros, mais c'est a peu pres tout.


Message édité par Alana le 08-02-2005 à 16:37:49
Reply

Marsh Posté le 08-02-2005 à 17:15:43    

Dans les memory usage par process, on note surtout que SQL prend 900 Mo... et comme par défaut, SQL prend toute la RAM qu'il peut, ben voila quoi.

Reply

Marsh Posté le 08-02-2005 à 17:17:41    

Bein donc tout va bien :)

Reply

Marsh Posté le 08-02-2005 à 17:31:01    

ben moi je trouve que bof. En gros il reste plus un pet de memoire vive.
 
En plus mes graphs MRTG me disent que ma machine swap à peu près à 50%... Le task manager ça inclu pas le swap a mon avis

Reply

Marsh Posté le 08-02-2005 à 17:32:45    

Regarde la ligne tout en bas "memory usage". Ca integre et la ram physique et le swap.
et il est tout a fait normal qu'il ne reste pas de ram libre.
Si tu lance un prog, du cache sera libéré pour faire de la place en ram, c'est le fonctionement normal.

Reply

Marsh Posté le 08-02-2005 à 18:55:37    

Tu le dis toi meme, SQL server prend toute la ram dont il a besoin .. donc si tu lui donne 15 giga, il prendra 15 giga.
D'autre part, c'est pas parce qu'il y a qqchose dans le swap que le serveur "Swappe" ... cf un topic ici meme il y a qq temps (sur l'idée de 'originale' mettre le swap sur un ramdisk)

Reply

Marsh Posté le 09-02-2005 à 11:24:19    

Bon ok je suis assez tetu mais pour moi, ça me semble pas super optimisé.
 
Vous avez des exemples de serveur SQL chez vous qui tourne correctement avec très peu de RAM available ?
 
Dans mon exemple en available il reste 7 Mo et 89 Mo en cache. J'ai d'autres exemples de serveur SQL certes moins chargé car moins de bases et moins de fréquentation mais l'occupation de la RAM reste correct quand à la taille totale de la RAM.
 
Dites moi si je suis relou mais j'aimerai bien comprendre, rien de telle que la preuve par l'appui :)

Reply

Marsh Posté le 09-02-2005 à 11:27:59    

Tu demande pas des preuves, tu demande des exemples.
Tu aimerai bien comprendre, et bien pas de probleme, prend la doc de SQL serveur et regarde comment il utilise la ram.
D'ailleur dans le meme bouquin tu trouvera surement des informations concernant le tunning et les parametres a surveiller pour connaitre la charge de ton serveur.
C'est surement pas avec le "gestionaire de programme" seul que tu aura une vision complete de l'occupation de ton systeme, meme si il en apprend déjà beaucoup.
 
Bref, commence par te renseigner avec de la doc technique, ca te sera beaucoup plus profitable que te poser ici des questions et contester les reponses que tout le monde te donne.

Reply

Marsh Posté le 09-02-2005 à 11:47:57    

Super...
 
Je pensais pas donner l'impression de contester tout en bloc, c'est dommage. Justement si je viens poser des questions ici c'est pour avoir des avis opérationnels en premier lieu. Maintenant je cherche partout ou je peux avoir des infos, je n'ai pas la doc SQL avec moi donc merci si tu as des infos plus concrètes.
 
Encore une fois je cherche à comprendre, pas à faire le malin en niant tout ce qu'on m'explique.

Reply

Marsh Posté le 09-02-2005 à 11:47:57   

Reply

Marsh Posté le 09-02-2005 à 12:00:09    

fofoul a écrit :

Vous avez des exemples de serveur SQL chez vous qui tourne correctement avec très peu de RAM available ?


 
La RAM disponible ne sert absolument a rien et n'aide en rien a faire tourner mieux un systeme ou une appli.
Tant que tu n'as pas d'utilisation massive du swap, c'est que tu as assez de RAM pour ton serveur.

Reply

Marsh Posté le 09-02-2005 à 13:29:36    

ce que je voulais dire en fait, c'est que si il ne reste quasiment plus de RAM libre pour le système en lui-même, ça swap et donc ça ralentit le tout non ?
 
Bon sur l'utilisation RAM ça me donne déjà une bonne indication, vais voir si y'a pas d'autres paramètres en jeu qui coince genre disk encombrés.
 
Merci

Reply

Marsh Posté le 09-02-2005 à 14:08:27    

fofoul a écrit :

ce que je voulais dire en fait, c'est que si il ne reste quasiment plus de RAM libre pour le système en lui-même, ça swap et donc ça ralentit le tout non ?


 
La RAM libre, c'est de la RAM non utilisée, et si elle est pas utilisée, c'est que personne n'en a besoin : que tu ai 10Mo ou 1Go de RAM de non utilisée, ca ne change RIEN, tant que les softs en ont assez.
Tu as encore de la RAM libre, tu n'as pas de swap, c'est donc que ton systeme n'a pas besoin de plus de RAM.
Les softs serveurs Microsoft ont tendance a prendre toute la RAM dispo "au cas ou", meme s'ils n'ent on pas vraiment besoin, et si un autre soft a en subitement besoin c'est réaloué dynamiquement tout seul.
 
La seule RAM gaspillée pour rien c'est celle qui n'est pas utilisée...
 

Citation :

Bon sur l'utilisation RAM ça me donne déjà une bonne indication, vais voir si y'a pas d'autres paramètres en jeu qui coince genre disk encombrés.


 
Je vois pas trop le rapport, mais bon.


Message édité par El Pollo Diablo le 09-02-2005 à 14:19:49
Reply

Marsh Posté le 09-02-2005 à 14:12:28    

* Mode soyons direct ON *
 

Citation :


"c'est que si il ne reste quasiment plus de RAM libre pour le système en lui-même, ça swap et donc ça ralentit le tout non ?"


Non, tu n'a strictement rien compris la facon dont les systemes d'exploitations gerent la memoire, et c'est ce que  3 personnes ont essayé de t'expliquer. Donc documente toi. Et conseil d'amis, on essaye pas de tunner un seveur de base de donnés quand on ne sait meme pas comment l'OS lui meme gere la memoire.
 
* Mode soyons direct Off *

Reply

Marsh Posté le 09-02-2005 à 14:29:05    

El Pollo Diablo a écrit :

La RAM libre, c'est de la RAM non utilisée, et si elle est pas utilisée, c'est que personne n'en a besoin : que tu ai 10Mo ou 1Go de RAM de non utilisée, ca ne change RIEN, tant que les softs en ont assez.
Tu as encore de la RAM libre, tu n'as pas de swap, c'est donc que ton systeme n'a pas besoin de plus de RAM.
Les softs serveurs Microsoft ont tendance a prendre toute la RAM dispo "au cas ou", meme s'ils n'ent on pas vraiment besoin, et si un autre soft a en subitement besoin c'est réaloué dynamiquement tout seul.
 
La seule RAM gaspillée pour rien c'est celle qui n'est pas utilisée...
 

Citation :

Bon sur l'utilisation RAM ça me donne déjà une bonne indication, vais voir si y'a pas d'autres paramètres en jeu qui coince genre disk encombrés.


 
Je vois pas trop le rapport, mais bon.


ok, c plus clair comme ça, merci :)

Reply

Marsh Posté le 09-02-2005 à 15:36:23    

Alana a écrit :

* Mode soyons direct ON *
 

Citation :


"c'est que si il ne reste quasiment plus de RAM libre pour le système en lui-même, ça swap et donc ça ralentit le tout non ?"


Non, tu n'a strictement rien compris la facon dont les systemes d'exploitations gerent la memoire, et c'est ce que  3 personnes ont essayé de t'expliquer. Donc documente toi. Et conseil d'amis, on essaye pas de tunner un seveur de base de donnés quand on ne sait meme pas comment l'OS lui meme gere la memoire.
 
* Mode soyons direct Off *

Je ne prétends pas être un dieu en la matière hein et c'est aussi pour ça que je pose des questions. Maintenant si tu trouve que tu perds ton temps à me répondre, ben tant pis mais bon c'est pas hyper constructif comme attitude.

Reply

Marsh Posté le 09-02-2005 à 15:39:41    

Relis l'ensemble du thread, je t'avais déja repondu de maniere constructive. Ce dernier post n'est du qu'a un poil d'enervement relativement comprehensible il me semble :)

Reply

Marsh Posté le 09-02-2005 à 15:48:03    

aller ça sert a rien de s'enerver
 
  [:fifou63]

Reply

Marsh Posté le 10-02-2005 à 00:01:35    

Pas eu le temps de tout lire, mais t'as base SQL elle fait combien de Mo ?
Avec SQL ou Exchange plus tu lui mets de RAM plus les temps de reponse seron rapide.

Reply

Marsh Posté le 10-02-2005 à 08:06:59    

SylvainDNS a écrit :

Pas eu le temps de tout lire, mais t'as base SQL elle fait combien de Mo ?
Avec SQL ou Exchange plus tu lui mets de RAM plus les temps de reponse seron rapide.


oui, c'est vrai .. tant que c'est la ram le goulot d'etranglement du sys au niveau des perfs ... comme toute applic d'ailleur  

Reply

Marsh Posté le 10-02-2005 à 12:00:53    

SylvainDNS a écrit :

Pas eu le temps de tout lire, mais t'as base SQL elle fait combien de Mo ?
Avec SQL ou Exchange plus tu lui mets de RAM plus les temps de reponse seron rapide.

J'ai un bon paquet de bases dessus, environ 60 pour un total de 30 Go de données.

Reply

Marsh Posté le 10-02-2005 à 12:02:21    

trictrac a écrit :

oui, c'est vrai .. tant que c'est la ram le goulot d'etranglement du sys au niveau des perfs ... comme toute applic d'ailleur

c'est pour ça que je voulais vérifier que c'était bien la RAM qu'il y a avait un goulet d'etranglement et non pas au niveau disque ou proc

Reply

Marsh Posté le 10-02-2005 à 23:47:37    

Si tu as environs 30 Go de Datas augmente t'as RAM. (Au miminum double la RAM)
 
Ton serveur il est en RAID si oui qu'elle type 1 ou 5 ?(Faut eviter le RAID 5 sur de la Database), et aussi qu'elle est la taille des sripes ?
 
T'as environ combien de user en simultané sur tes bases ?
 
Pour optimiser les acces Disks tu as intéret à mettre sur des DD diferent les bases et les logs de SQL.

Reply

Marsh Posté le 11-02-2005 à 10:27:51    

ça me semble un peu juste aussi 1 Go en RAM.
 
Au niveau disque, j'ai 2 DD en RAID1 (9 Go) pour le système et 3 en RAID5 pour les data et logs (135 Go). C'est clair que ce serait plus optimisé en séparant les data et les logs mais bon, ça va être dur avec la config hard qu'il y a.
 
Comment on peux voir le nb de user en simultané ? Moi je regarde dans Management, current activity mais je suis pas persuadé que je vais avoir une info completement pertinente.
 
EDIT : vais aller faire un tour dans les compteurs SQL de Windows


Message édité par fofoul le 11-02-2005 à 10:37:11
Reply

Marsh Posté le 11-02-2005 à 10:40:08    

C'est con que tu sois en RAID 5 mais bon, t'as plus le choix now.
Par contre faudrai que tu regarde la taille des strip et que tu mets 64Ko (le max pour un RAID 5)
C'est koi la marque du serveur ?

Reply

Marsh Posté le 11-02-2005 à 10:47:32    

c un compaq ML530 lol

Reply

Marsh Posté le 11-02-2005 à 10:52:50    

Tu peux changer la taille des stripe alors.

Reply

Marsh Posté le 11-02-2005 à 10:55:23    

ah ouais ? tu fais ça comment ? Et ça apporte quoi concètement surtout :)
 
EDIT : j'ai trouvé comment modifier la taille mais j'espere que ça induit pas un reboot :/


Message édité par fofoul le 11-02-2005 à 10:59:15
Reply

Marsh Posté le 11-02-2005 à 11:13:53    

Non mais je reve... au secours...
Y a vraiment des tres, tres gros malade ici...
SylvainDNS : t'a lu le post ? T'a pas compris a qui tu avais affaire la ? Fofoul est vraimsemblablement un tout jeune admin qui debarque dans son premier job et qui est en train de vouloir prendre des initiatives sur une machine de prod alors qu'on lui a rien demandé, juste parce que chez lui c'est un habitué de l'overcloking ou de la defragmentation reguliere parce que "ca ameliore les perfs" et pourquoi pas un peu de bidouillage dans le bios tant qu'on y est pour accelerer l'acces de la ram....
 
ALLLLOOOO ! T'es pas chez toi la, t'es sur une machine de prod ! et au cas ou tu ne le saurai pas, la modification du stripe size est une operation TRES dangereuse, le moindre probleme et tu peut dire adieu a tes données. (Je suis meme surpris que le systeme l'autorise a chaud, c'est pas tres frequent comme possibilité)
 
Bref, fofoul : tant qu'on te demande rien et que les perfs sont pas catastrophiques, tu touche a rien ! (Si tu ne veux pas comprendre ca, fais ce que tu veux, mais tu verra que la lecon rentrera, d'une maniere ou d'une autre)
 
SylvainDDS : Je suis sur que tu as des competances en la matiere mais tu devrai avoir un peu honte la de conseiller des trucs aussi violents, sans avoir la machine devant toi, sans avoir la plus petite idée de la charge sur la machine.
 
Et encore, je me demande si tu as tellement d'experience pour simplifier tes posts a l'extreme :
"Avec SQL ou Exchange plus tu lui mets de RAM plus les temps de reponse seron rapide."
Bein voyons... pourquoi pas mettre 8 GO de Ram tiens... c'est sur ca ira surement 8 fois plus vite....  
 
(Sans rire j'ai déja vu des serveurs windows avec 8 Go... Sauf que la grande majorité etait pas utilisé, t'aurait été heureux fofoul de voir "ram inutilé" (et inutilisable de toute maniere sur un systeme 32 bit)
 
Repetons une derniere fois qu'une appli qui n'a pas besoin de plus de ram, tu peux en mettre autant que tu veux ca va pas changer grand chose.. a part ralentir un poil l'os qui va devoir gerer tout ca). Maintenant c'est un audit qu'il faut faire sur ton serveur SI tu as des problemes de performances... et pas jouer aux devinettes.
 
Y a vraiment des fois on se demande....

Reply

Marsh Posté le 11-02-2005 à 11:28:19    

bon ecoute moi bien mon petit pote, jusqu'ici je suis resté correct mais tu vas te détendre là. Tes a priori envers moi, tu te les garde car tu ne sais rien de moi, je vois pas ce qui t'autorise a dire tout ça, non mais tu prends pour qui ??? "Tu touche a rien"... sérieux tu te rends compte de ce que tu écris ?? ici c'est un forum de discussions, pas un défouloir.
 
Ensuite je sais pas depuis combien de temps tu traine ici mais SylvainDNS est un mec connu sur la section et pas vraiment pour foutre la merde sur les serveurs, ya qu'a faire une recherche sur ces posts pour se rendre que c'est pas un brank au niveau Windows.
 
Quand au tout jeune admin qui débarque et qui veut tuner tout ce qui bouge sans qu'on lui demande, je te confirme que tu te gourre sur toute la ligne.
 
Je t'en veux pas mais sérieux, fais gaffe aux préjugés sans connaitre un minimum les personnes a qui tu parles.

Reply

Marsh Posté le 11-02-2005 à 11:31:21    

Avec 30 Go de data SQL 1 Go de RAM c'est loin d'etre suffisant. J'ai pas dit qu'il mets 8Go de RAM mais seulement le double (2 Go) et encore ça doit pas etre suffisant.
 
Pour la modif des stripes, et oui certain constructeur le permets de le modiffier en prod (notament Compaq), a la condition d'avoir des batterie sur la carte RAID sinon la fonction est désactivé. Perso jamais eu de probleme avec la modif des strips chez compaq.
 
Maintenant je donnes les possibilite pour amméliore les perf, il n'est pas obligé des les appliquer, il faut faire en fonction des ces compétances.
 

Reply

Marsh Posté le 11-02-2005 à 11:40:42    

Fofoul : désolé si je me suis trompé, mais quelqu'un qui arrive, qui copie l'image de son gestionaire de programme et qui nous dit "Et regardez les copains comment il tourne mon serveur, vous pensez que je peux le faire aller plus vite ?"
ca me donne pas trop l'impression d'avoir affaire a quelqu'un qui a 10 ans de metiers (ce qui n'est pas une insulte hein...)
 
SylvainDNS : Je comprend parfaitement ta position, mais reconais que quelques mises en garde ca aurait été bien quand meme ;) La regle absolu en informatique, c'est que quand ca fonctionne bien, on touche a rien. (maintenant t'a le droit de pas avoir le meme avis que moi a ce sujet...)
 
Entre nous, est ce que tu lancerai vraiement une modification de la taille de stripe sur un systeme, juste comme ca, pour voir si par hasard tu gagnerai pas quelques % de perfs ?
 
Voila, et je m'excuse de m'etre emporté.
 
EDIT : depuis le debut on ignore tous les details de son architecture (taille de la base par exemple) et je pense que lui meme a pas forcement toutes les donnees du probleme (nombre d'io par secondes sur les disques etc etc). Bref, il est impossible de le conseiller correctement avec les données dont on dispose. (A part dire et repeter que si il n'y a pas un vrai probleme de perfs, si sa hierarchie ne lui a pas donnés des objectifs style on veut un temps de reponses 2 fois inferieur etc) le mieu c'est de rien faire.


Message édité par Alana le 11-02-2005 à 11:43:26
Reply

Marsh Posté le 11-02-2005 à 11:50:26    

bon aller sans rancune, on est là pour avancer   [:fifou63]
 
En l'occurence, là ma hiérarchie me demande de trouver des solutions pour justement faire en sorte que cette bouze marche mieux mais faut que je trouve des arguments autre que "ça serait bien d'augmenter la RAM" tout court.
Bref, on avance petit à petit et je commence a avoir des infos bien pertinentes pour avancer. J'ai pas forcément toutes les données et je reconnais pas être le meilleur en SQL mais faut bien que je trouve des solutions. Si tu as des conseils, je suis preneur voila tout :)

Reply

Marsh Posté le 11-02-2005 à 11:54:27    

Bon j'ai laissé tourner le compteur User Connections et ça me donne ceci :
Average : 121
Max : 208
Min : 84

Reply

Marsh Posté le 11-02-2005 à 12:06:34    

Pour finir sur la taille des strips :
 
Si t'est strip son calibre à 8 ou 16 Ko, oui je ferais la modification pour les passer à 64 Ko, par contre si il sont à 32 Ko, je ne ferai pas la modif.
La taille des strips joue enormement sur les perfers d'un serveur. Petit strip pour serveur de fichiers, gros strip pour base de données et gros fichiers (style mpg et autre)
 
120 connexions ça vas ce n'est pas énorme.

Reply

Marsh Posté le 11-02-2005 à 12:30:43    

Citation :


En l'occurence, là ma hiérarchie me demande de trouver des solutions pour justement faire en sorte que cette bouze marche mieux


Bein si tu constate que reelement le serveur est trop lent (t'es sur que c'est vraiment le serveur ? Est ce que ca pourait etre etre tout simplement le reseau qui serait le goulot d'etrangement pour les utiilsateurs ? ou autre chose...) alors il faut faire un vrai audit, comprendre ce qui se passe.  
 
Donc pour eviter effectivement de dire "faut rajouter de la memoire" sans arguments, (imagine qu'ils accepetent, que tu rajoute de la ram et que ca change pas grand chose, t'aura l'air malin...) commence par preparer une note technique, 2 ou 3 pages de word ou tu decrit l'utilisation de chaque ressources dans la machine.
Donc il faut monitorer l'usage cpu, les disques, l'utilisation de la swap (pas le total de la swap allouée, mais reelement le nombre d'acces a la swap) le reseau aussi a mon avis.
Ensuite il faut voir que le probleme est pas forcement au niveau de l'os, ca peut etre un probleme applicatif, des requetes mal ecrites etc etc.
BRef, quand tu aura un historique sur au moins une journée de l'utilisation de toutes les ressources, tu devrai avoir une visions plus clair de ce qui pose probleme.

Reply

Marsh Posté le 11-02-2005 à 14:27:40    

c'est exactement ce que je suis en train de faire je suis en train de rassembler les infos dans un coin. Maintenant j'ai pris la RAM en premier lieu car c'était pour moi le truc qui resortait le plus à première vue, pour moi en tout cas. Le réseau c'est pas bête mais y'a pas de souci de ce coté là, déjà vérifié ;)
 
Le CPU est passé de mono proc a bi-proc y'a pas si longtemps, donc ça ne devrait pas venir de là, déjà checké également.
 
Je mets un compteur sur le swap, ça va ptet parler

Reply

Marsh Posté le 11-02-2005 à 14:28:15    

SylvainDNS a écrit :

Pour finir sur la taille des strips :
 
Si t'est strip son calibre à 8 ou 16 Ko, oui je ferais la modification pour les passer à 64 Ko, par contre si il sont à 32 Ko, je ne ferai pas la modif.
La taille des strips joue enormement sur les perfers d'un serveur. Petit strip pour serveur de fichiers, gros strip pour base de données et gros fichiers (style mpg et autre)
 
120 connexions ça vas ce n'est pas énorme.


a partir de combien de connexions tu juge que ça fais beaucoup en simultanés ?

Reply

Marsh Posté le 11-02-2005 à 14:37:08    

Pas que la swap en fait, tous les acces disques.
Si ton serveur passe son temps a acceder aus disques, il faut ensuite savoir ce qu'il fait au juste (lecture ? ecriture ?) si c'est essentielement de la lecture (aleatoire), mettre plus de ram va effectivement amliorer les choses en augmetant la taille du cache.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed