Précédent   Forum des professionnels en informatique > Bases de données > Sybase
Sybase Forum sur la base de données Sybase. Avant de poster -> F.A.Q Sybase, Tutoriels Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2003, 11h13   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 50
Points : 11
Points : 11
Par défaut [RESOLU][SYBASE]multi-processeur

J'ai un serveur ASE 12.5 installé sur un quadri-processeur (WIN 2000 ADS). Je le fais stresser avec des appels de procedures stockées mais un seul processeur travail et donc la charge processeur total ne dépasse pas les 25 %. Il y a t-il un moyen de faire travailler tous les processeurs?
6rose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2003, 14h43   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Code :
sp_configure "max online engine", 3
... mais si la charge CPU ne depasse jamais le 80%, c'est pas du cote CPU que tu devrais chercher.

Lors de l'appel des procs, executes un sp_sysmon
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2003, 10h03   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 50
Points : 11
Points : 11
J'ai essayé cette commande mais le problème si j'ai bien compris c'est que c'est pour faire tourner 3 moteurs ASE en parallèle. Cependant j'ai qu'un seul moteur et qu'une seule base. Un moteur ne peut tourner que sur un seul processeur?
6rose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2003, 19h59   #4
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Lors du démarrage, c'est l'OS qui définit où placer ses moteurs. Toi, ne t'occupe de rien : tu gères ces 3 exécutables comme un seul. Les échanges se feront par mémoire partagée. Partant de là, tu auras alors 3 running queues, donc la capacité pour l'ASE d'exécuter 3 tâches CPU en même temps (donc d'utiliser 3 CPUs)... c'est ce qui t'intéresse, non ? Après ça, tu peux en plus définir du parallélisme avec max parallel degree, max scan parallel degree , etc
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2003, 13h34   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 50
Points : 11
Points : 11
Oui mais j'ai qu'un seul moteur ASE avec une seule base à l'intérieur.
Les 3 running queues ne vont pas travailler sur le même moteur?

Bref j'ai un moteur, combien de cpu pourront travailler en même temps sur ce moteur?

Moi d'après ce que j'ai compris : un seul cpu par moteur au maximum.
par contre si j'avais 3 moteurs (mais que je n'ai pas) je pourrais les faire travailler en parallèle sur des cpus différents.
6rose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2003, 13h12   #6
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Distingue bien moteurs (je pense que tu entends par la serveur ASE) et engines.

Pour ton cas de figure : 1 ASE et 4 CPUs, tu obtiendras sans doute de meilleures performances en utilisant 3 engines pour ton serveur ASE. Dan ce cas, tu pourras voir via showserver 3 dataservers sur ta machine, mais virtuellement, tu n'y accederas que via ton serveur (surtout pour les requetes de type gros selects que l'on rencontre dans le decisionnel).

L'avantage du parallelisme peut se faire sentir meme en monotache (1 utilisateur). Si tu lances un select sur une table partitionnee en 4, par exemple, l'ASE sera en mesure de lancer 3 worker processes qui chacun utilisera peut-etre son propre CPU pour parcourrir chacun une portion de la table. Dans ce cas:
- ton max online engine devra etre a 3 pour avoir 3 running queues
- ton parallel degree devra etre a 3 pour profiter des 3 CPUs va une requete
- ton max scan parallel degree devra etre a 4 (pour le partitionnement)
- ton number of woker process devra etre au minimum a 12 (3*4) pour ne pas pejorer ton plan d'execution.
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2003, 11h13   #7
Candidat au titre de Membre du Club
 
Inscription : avril 2003
Messages : 50
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 50
Points : 11
Points : 11
Par défaut [résolu][ Sybase ] Multiprocesseur ASE12.5

Merci, ca marche!!!!

C'est vrai je ne voyais pas la différence entre moteur et engine. Il y avait aussi le paramètre : "number of engine at start up" à modifier. Ayant des performances pas assez satisfaisantes, je me tourne donc comme tu me le dis vers le partitionnement des tables pour augmenter le parallèlisme.
6rose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2003, 21h01   #8
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
number of engine at startup est un nouveau parametre depuis 12.5.0.3 si je ne m'abuse. Cela vient compte tenu qu'il est possible maintenant de désactiver dynamiquement une engine (sans redemarrage du serveur).
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h15.


 
 
 
 
Partenaires

Hébergement Web