nous avons de gros problèmes de performance avec la réplication de
fusion. A savoir qu'actuellement tout peu se passer en quelques minutes
comme en une heure, créant un véritable goulot d'étranglement pour les
synchronisations suivantes. Je m'explique, s'il s'avère que la
synchronisation d'un abonné va mettre plus de 30 minutes, nous voudrions
éviter qu'un autre abonné démarre une synchronisation et par conséquent,
augmente les temps, voir fasse partir en timeout toutes les synchros faute
de ressource CPU disponible. De plus les verrous entre synchros simultanées
ralentissent TOUTES les synchros....
D'où l'idée de créer un job qui puisse régler le nombre d'abonné en fonction
de la charge processeur sur le moment.
Par exemple:
si synchros en cours utilisent < 50 % du CPU alors
augmenter le nombre de nouvelles synchros possibles simultanément
sinon
reduire le nombre de nouvelles synchros possibles simultanément
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bruno reiter
tu peux peut-etre partir de ce script qui donne le nombre de répli en cours et de locks ( à adapter à tes noms de fusion).
-- liste des fusions en cours avec le nb de mags et le nb de locks ------------- SELECT program_name=SUBSTRING(program_name,25,5), nbRepl=count(*), nblocks=sum(nblocks) INTO #ReplEnCours FROM ( SELECT hostname, program_name, MoyHeur=AVG(DATEPART(hh,last_batch)*100+DATEPART(mi,last_batch)), nblocks=sum(case when blocked = 0 then 0 else 1 end) from master.dbo.sysprocesses where program_name like '%fusion%' or program_name like '%mag filtre%' group by hostname, program_name ) as A GROUP BY SUBSTRING(program_name,25,5)
SELECT * FROM #ReplEnCours --DROP TABLE #ReplEnCours
br
"franck" a écrit dans le message de news:
Bonjour,
nous avons de gros problèmes de performance avec la réplication de fusion. A savoir qu'actuellement tout peu se passer en quelques minutes comme en une heure, créant un véritable goulot d'étranglement pour les synchronisations suivantes. Je m'explique, s'il s'avère que la synchronisation d'un abonné va mettre plus de 30 minutes, nous voudrions éviter qu'un autre abonné démarre une synchronisation et par conséquent, augmente les temps, voir fasse partir en timeout toutes les synchros faute de ressource CPU disponible. De plus les verrous entre synchros simultanées ralentissent TOUTES les synchros....
D'où l'idée de créer un job qui puisse régler le nombre d'abonné en fonction de la charge processeur sur le moment.
Par exemple:
si synchros en cours utilisent < 50 % du CPU alors augmenter le nombre de nouvelles synchros possibles simultanément sinon reduire le nombre de nouvelles synchros possibles simultanément
Si quelqu'un à des idéés...:0) Merci d'avance!
tu peux peut-etre partir de ce script qui donne le nombre de répli en cours
et de locks ( à adapter à tes noms de fusion).
-- liste des fusions en cours avec le nb de mags et le nb de
locks -------------
SELECT program_name=SUBSTRING(program_name,25,5), nbRepl=count(*),
nblocks=sum(nblocks)
INTO #ReplEnCours
FROM (
SELECT hostname, program_name,
MoyHeur=AVG(DATEPART(hh,last_batch)*100+DATEPART(mi,last_batch)),
nblocks=sum(case when blocked = 0 then 0 else 1 end)
from master.dbo.sysprocesses
where program_name like '%fusion%'
or program_name like '%mag filtre%'
group by hostname, program_name
) as A
GROUP BY SUBSTRING(program_name,25,5)
SELECT * FROM #ReplEnCours
--DROP TABLE #ReplEnCours
br
"franck" <franck.duringer@wurth.fr> a écrit dans le message de news:
uQ2qCT4uGHA.976@TK2MSFTNGP05.phx.gbl...
Bonjour,
nous avons de gros problèmes de performance avec la réplication de
fusion. A savoir qu'actuellement tout peu se passer en quelques minutes
comme en une heure, créant un véritable goulot d'étranglement pour les
synchronisations suivantes. Je m'explique, s'il s'avère que la
synchronisation d'un abonné va mettre plus de 30 minutes, nous voudrions
éviter qu'un autre abonné démarre une synchronisation et par conséquent,
augmente les temps, voir fasse partir en timeout toutes les synchros faute
de ressource CPU disponible. De plus les verrous entre synchros
simultanées ralentissent TOUTES les synchros....
D'où l'idée de créer un job qui puisse régler le nombre d'abonné en
fonction de la charge processeur sur le moment.
Par exemple:
si synchros en cours utilisent < 50 % du CPU alors
augmenter le nombre de nouvelles synchros possibles simultanément
sinon
reduire le nombre de nouvelles synchros possibles simultanément
tu peux peut-etre partir de ce script qui donne le nombre de répli en cours et de locks ( à adapter à tes noms de fusion).
-- liste des fusions en cours avec le nb de mags et le nb de locks ------------- SELECT program_name=SUBSTRING(program_name,25,5), nbRepl=count(*), nblocks=sum(nblocks) INTO #ReplEnCours FROM ( SELECT hostname, program_name, MoyHeur=AVG(DATEPART(hh,last_batch)*100+DATEPART(mi,last_batch)), nblocks=sum(case when blocked = 0 then 0 else 1 end) from master.dbo.sysprocesses where program_name like '%fusion%' or program_name like '%mag filtre%' group by hostname, program_name ) as A GROUP BY SUBSTRING(program_name,25,5)
SELECT * FROM #ReplEnCours --DROP TABLE #ReplEnCours
br
"franck" a écrit dans le message de news:
Bonjour,
nous avons de gros problèmes de performance avec la réplication de fusion. A savoir qu'actuellement tout peu se passer en quelques minutes comme en une heure, créant un véritable goulot d'étranglement pour les synchronisations suivantes. Je m'explique, s'il s'avère que la synchronisation d'un abonné va mettre plus de 30 minutes, nous voudrions éviter qu'un autre abonné démarre une synchronisation et par conséquent, augmente les temps, voir fasse partir en timeout toutes les synchros faute de ressource CPU disponible. De plus les verrous entre synchros simultanées ralentissent TOUTES les synchros....
D'où l'idée de créer un job qui puisse régler le nombre d'abonné en fonction de la charge processeur sur le moment.
Par exemple:
si synchros en cours utilisent < 50 % du CPU alors augmenter le nombre de nouvelles synchros possibles simultanément sinon reduire le nombre de nouvelles synchros possibles simultanément