Migliorare le prestazioni di polling

È possibile eseguire una configurazione avanzata del processo di polling della tabella di interfaccia per migliorare le prestazioni di lettura dei dati dalle tabelle di interfaccia.

È necessario adottare misure per migliorare le prestazioni di polling delle tabelle di interfaccia solo se si inviano transazioni in entrata attraverso la coda continua e non si richiede che le transazioni siano mantenute nella sequenza first-in-first-out.

Salvo diversa indicazione, le attività di configurazione vengono eseguite nell'applicazione Cron Task Setup nel modulo System Configuration.

Si utilizza un selettore per aggiungere una clausola " WHERE " a un'attività cron. Se si definiscono più istanze dell'attività cron, è necessario definire dei selettori in modo che ogni istanza legga righe della tabella di interfaccia mutuamente esclusive. Ad esempio, se scambia dati con due sistemi esterni, il primo thread potrebbe interrogare un sistema e il secondo thread potrebbe interrogare il secondo sistema.

I selettori si definiscono assegnando valori ai parametri " EXTSYSNAME " (sistema esterno) e " ENTERPRISESERVICE " (servizio aziendale) nell'applicazione Cron Task Setup. È possibile aggiungere una clausola IN a un selettore inserendo una serie di valori delimitati da pipe.

Per dirigere un'attività cron e selezionare i record degli ordini di acquisto solo per l' EXTSYS1 e del sistema dalle tabelle delle code:

  • Imposta ENTERPRISESERVICE=MXPOInterface
  • Imposta EXTSYSNAME=EXTSYS1

Per elencare più nomi di interfaccia nella proprietà " ENTERPRISESERVICE ", impostare " ENTERPRISESERVICE=MXPOInterface|GeoInterface|...".

Di seguito sono riportati i requisiti per configurare più istanze dell'attività cron:

  • I selettori devono essere reciprocamente esclusivi, in modo che i messaggi non vengano elaborati più volte.
  • I selettori devono recuperare tutte le transazioni di servizio aziendali che utilizzi in modo che nessun messaggio rimanga non elaborato.

Crontask

Il processo di polling della tabella di interfaccia utilizza un singolo task cron predefinito chiamato IFACETABLECONSUMER. Questo cron task legge tutte le transazioni da tutte le tabelle di interfaccia per tutti i sistemi esterni che scrivono nelle tabelle.

Per migliorare le prestazioni di un singolo server e di più server, è possibile configurare il polling della tabella dell'interfaccia multi-thread definendo più istanze di questa attività con valori di proprietà diversi. Il polling multi-thread è utile quando viene eseguito in una configurazione cluster, poiché thread diversi possono essere eseguiti su server diversi e bilanciare il carico.

Ad esempio, per designare un'istanza dell'attività cron da eseguire su un server applicazioni specifico, eseguire le seguenti azioni. Supponiamo che il nome delle istanze dell'attività cron sia instance1:

Nell'applicazione Cron Task Setup, impostare la proprietà TARGETENABLED su 1. Nell'applicazione server1 setup, impostare l' –DIFACETBCONSUMER.instance1=1.

Quando si implementano più attività cron, è necessario implementare anche selettori mutuamente esclusivi per evitare di elaborare una transazione più di una volta.

Selettori

Si utilizza un selettore per aggiungere una clausola " WHERE " a un'attività cron. Se si definiscono più istanze dell'attività cron, è necessario definire dei selettori in modo che ogni istanza legga righe della tabella di interfaccia mutuamente esclusive. Ad esempio, se scambia dati con due sistemi esterni, il primo thread potrebbe interrogare un sistema e il secondo thread potrebbe interrogare il secondo sistema.

I selettori si definiscono assegnando valori ai parametri " EXTSYSNAME " (sistema esterno) e " ENTERPRISESERVICE " (servizio aziendale) nell'applicazione Cron Task Setup. È possibile aggiungere una clausola IN a un selettore inserendo una serie di valori delimitati da pipe.

Per indirizzare un'attività cron e selezionare i record degli ordini di acquisto solo per l' EXTSYS1 e di sistema dalle tabelle di coda, eseguire le seguenti attività:

  • Impostare ENTERPRISESERVICE=MXPOInterface.
  • Impostare EXTSYSNAME=EXTSYS1.

Per elencare più nomi di interfaccia nella proprietà " ENTERPRISESERVICE ", impostare " ENTERPRISESERVICE=MXPOInterface|MXPRInterface|…".

Di seguito sono riportati i requisiti per configurare più istanze dell'attività cron:

  • I selettori devono essere reciprocamente esclusivi, in modo che i messaggi non vengano elaborati più volte.
  • I selettori devono recuperare tutte le transazioni di servizio aziendali che utilizzi in modo che nessun messaggio rimanga non elaborato.