Sybase - La FAQConsultez toutes les FAQ

Nombre d'auteurs : 1, nombre de questions : 77, dernière mise à jour : 8 février 2009  Ajouter une question

 

Question / réponses à tout ce que vous avez toujours voulu savoir sur Sybase ASE et ses dérivés sans jamais oser le demander


SommaireOptimiseur (5)
précédent sommaire suivant
 

Grâce à l'outil Optdiag

Cas d'école

  • Chaque nuit, des insertions de la journes sont faites dans une base décisionnelle via bcp.
  • Chaque WE, les stats sont rejouées
  • Chaque jour, les utilisateurs accèdent aux dernières données

Problème
  • Lorsqu'une requête accède aux données de plus d'une semaine, les performances sont correctes
  • Lorsqu'une requête accède aux données de la semaine en cours, les performances sont lamentables

Diagnostique
  • Le dernier step de stat est à une date inférieure de la date intéressante => magic number => mauvaises perfs

Solution grace à Optdiag
  • Extraction des stats avec optdiag
  • Modification du dernier échelon de date à date = date + 1 an
  • Importation des stats

Code : Sélectionner tout
1
2
 
optdiag statistics histo..table_size -o /tmp/table_size.diag -Usa -P.... -Sserveur
Modification du fichier, puis rechargement

Code : Sélectionner tout
1
2
 
optdiag statistics histo..table_size -i /tmp/table_size.diag -Usa -P.... -Sserveur

Mis à jour le 24 octobre 2006 Fabien Celaia

Il y a une kyrielle d'information disponible, et trop d'information tue l'information. Il s'agit donc d'activer les traces nécessaires et uniquement celles-ci.

En voici quelques-unes

Commandes Descriptifs
SET SHOWPLAN ON Affiche le plan d'exécution de la requête
SET STATISTICS IO ON Affiche le nombre d'E/S nécessaires, que ce soit en mémoire/cache (logical io) ou en disque (physical io)
SET STATISTICS TIME ON Affiche le temps qui a été pris sur le serveur pour exécuter la requête
SET TRACEON(3604) Permet de retourner les messages envoyées normalement dans l'errorlog à l'écran
sp_showplan Permet d'afficher le plan d'exéciution d'une autre session active
SET NOEXEC ON Permet d'exécuter une précédure et de visualiser son plan sans qu'un impact ait lieu sur les données (pas d'exécution réelle)

Mis à jour le 24 mars 2007 Fabien Celaia

Pour une base ASE ayant des pages de 2K, il y a possibilité d'avoir des caches nommés de 2,4,8 ou/et 16K.

Des blocs de taille supérieures permettent le prefetch lors d'accès disques (monter plus d'une page avec un accès disque)

Pour débuter votre tuning sur de bonnes bases, commencez par

  • 85% de l'espace cache disponible pour le default data cache (de 2K)
  • 20% pour un cache nommé de 32K
  • 5% pour n cache dédié au journaux de transaction (log, ou table syslogs) de 4K (il ous faudra malgré tout laisser quelques Mo en 2K)

Pour la base de données tempdb, si elle peut bénéficier de son propre cache, c'est tant mieux. Veuillez alors à lui attribuer du 2K et du 32K pour ses données... et ne pas omettre de lier son journal de transactions à votre cache de 4K.

Mis à jour le 31 mars 2007 Fabien Celaia

  • Monitorer l'activité en cours : via Sybase Monitor Server ou, depuis la version 12.5.0.3, via les tables MDA
  • Monitorer l'activité passée : : via Sybase Historical Server ou, depuis la version 12.5.0.3, via les tables MDA
  • Monitorer l'activité générale du serveur pour une période donnée : sp_sysmon
  • Afficher le plan d'exécution d'une requête en cours : sp_showplan
  • Vérifier les verrous en cours : sp_lock
  • Information sur les deadlock : sp_configure deadlock, 1 puis édition de l'errorlog
  • Cérifier les processus bloqués/bloquants : sp_who ou select * from master..sysprocesses

Mis à jour le 16 mai 2007 Fabien Celaia

Oui, mais seulement depuis la version 12.

Attention ! Le OUTER JOIN peut avoir un comportement différent au *= en cas de condition posée sur la partie ouverte de la jointure, conformément à la définition SQL2

Mis à jour le 27 septembre 2007 Fabien Celaia

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique Sybase