|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Ludovic LemaitreIngénieur développement logiciels Inscription : mai 2006 Messages : 64 ![]() |
Bonjour,
J'ai comme qui dirait un problème de "surpoids" récurent avec les bases de données de mes clients. J'ai vu sur certaines discussions que le backup/restore permettait de faire dégonfler certaines bases "mal gérées" (bon, à priori, c'est mon cas vu que je passe sur certaines bases de 500Mo à moins de 50Mo...) mais autant j'ai un backup automatisé (par GBakScheduler), autant le restore automatisé, là, je ne vois pas... Je pensais passer par une modification du "sweep interval", mais là, le pb, c'est que je ne sais pas bien dans quelle mesure faire varier sa valeur... (et j'ai un peu peur de faire des conneries en y allant à l'aveuglette...) Est-ce que quelqu'un pourrait me guider/renseigner ? (j'ai oublié de préciser : je suis en Firebird 1.5.4 et en Delphi 5, avec impossibilité technique de changer de techno -je suis tout seul sur une appli déjà grosse à maintenir, et donc sans possibilité de tout basculer ne serait-ce qu'en Delphi 6-) |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Inscription : mars 2002 Messages : 711 ![]() |
je pense que tu devrai revoir un peu tes transactions car moi j'utilise Delphi 6 et firebird 1.5 ou 2.0 et ça augmente un peu mais faiblement (ça peut prendre quelques mega au bout d'une année d'utilisation...)
pour le sweep, j'ai laissé la valeur par défaut (20000 je crois). C'est je crois le nombre de transactions entre chaque sweep tu utilises quel paramètre pour tes transactions ? elle gonfle de 50 Mo à 500 Mo rapidement ? y a beaucoup de personnes connectés ? |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : mars 2002 Messages : 711 ![]() |
|
|
|
00
|
|
|
#4 |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 3 631 ![]() |
avec Firebird 2 je suis en train de tester la solution suivante
1) j'ai mis l'intervalle de Sweep à 0 gfix -user SYSDBA -password masterkey c:\labase.fdb -h 0 2) je fais régulièrement (tache plannifiée) un sweep pendant les heures hors bureau (1h du mat, 13h00) gfix -user SYSDBA -password masterkey c:\labase.fdb -sweep opérations indiquées sur le site de Firebird je crois pourquoi : parce que l'opération auto de nettoyage occupe tout le processeur lorsqu'elle se déclenche (bug connu de FIB 2) nota : j'ai des vieux programmes D3 qui accède a cette base anciennement 5.6 dans un précédent post http://www.developpez.net/forums/sho...d.php?t=399242Makowsky me proposait une autre solution que je n'ai pas encore testé . Laquelle est la meilleure ?
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius |
|
|
00
|
|
|
#5 | |||||
|
Membre habitué
![]() Ludovic LemaitreIngénieur développement logiciels Inscription : mai 2006 Messages : 64 ![]() |
(Désolé pour le retard...)
Citation:
En gros, d'ici à trouver une solution "convenable", il faut que je trouve une solution temporaire pour mes clients installés... Citation:
En utilisation normale, c'est souvent moins de 10 utilisateurs, avec au final le même volume d'insert et de delete (et donc le même gonflement), mais sur une semaine... Citation:
Citation:
Citation:
(désolé encore : le post est très long) |
|||||
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Ludovic LemaitreIngénieur développement logiciels Inscription : mai 2006 Messages : 64 ![]() |
Bon, je viens de faire des tests avec des Sweep Interval différents, sur deux copies d'une même base (30 Mo), et après une même série d'imports dans les deux cas, les mêmes appli ouvertes en visu sur la base pendant l'import, quasiment les même manips,... :
- Sweep Interval à 20000 : gonflement de 700 % ( faut vraiment que je trouve cette @!#!$£ de transaction déconnante !!!)- Sweep Interval à 1000 : gonflement de 450 % - Sweep Interval à 100 : gonflement de 400 % (avec un tassement considérable du gonflement en cas d'imports supplémentaires) Je crois que je tiens ma solution temporaire... ... en attendant de trouver un moyen de corriger ce code ! ![]() Merci à tous ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com