2016-04-19 7 views
0

Wir haben einen Webservice, der aufgerufen wird, um das Lieferdatum des Produkts beim Kauf auf der eComm-Website anzugeben.Leistungsverbesserung für Webservices

Wir verwenden IBM Sterling Order Management im Backend und seinen OOB-Webservice und seinen OOB-Service.

Dieser Webservice (WSDL) benötigt mehr Zeit, mehr als 40 Sekunden, was eine Zeitauflösung in anderen integrierten Systemen (Middleware) schafft.

Wir wollen also die Leistung dieses Webservice verbessern. Könnten Sie mir bitte helfen, die Leistung zu verbessern? Wird es verbessert, wenn die Spezifikation des Servers aktualisiert wurde? Wie es der OOB-Dienst ist, können wir es nicht anpassen.

+0

Handelt es sich um ein großes/riesiges XML-Dokument? Könnte das die Ursache des Problems sein? –

+0

Nein, es ist kein großes XML, aber der Back-End-Prozess braucht mehr Zeit, um das Lieferdatum zu erhalten. –

Antwort

1

Zuerst müssen Sie den Leistungsengpass herausfinden. Zu Beginn könnten Sie eine ausführliche Ablaufverfolgung auf dem OOB-Webdienst einfügen. Verwenden Sie die Protokolle und sehen Sie, ob Sie eine bestimmte Komponente oder einen SQL-Server, der die meiste Zeit benötigt, auf Null setzen können. Wenn es sql ist, können Sie die OOB-Abfrage/-Tabellen mithilfe von Indizes abstimmen/abgleichen. Wenn Sie User-Exits implementiert haben (für die OOB-API), stellen Sie sicher, dass sie schlank sind und keine kostspieligen API-Aufrufe wie die changeOrder-API ausführen.

0

Eine der Fragen, die hier gestellt werden, wäre, ob der Webservice mit den tatsächlichen Verarbeitungsergebnissen antworten muss oder ob er die eigentliche Verarbeitung in den Hintergrund rücken könnte zB: separater Integrationsserver und einfach mit einer einfachen Rückmeldung antworten Webservice-Anfrage. Wenn der Dienst nur mit einer Bestätigung antworten muss, können Sie die tatsächliche Verarbeitung möglicherweise zu einem separaten asynchronen Dienst verschieben.

0

Zuerst versuchen, herauszufinden, wo das eigentliche Problem liegt und daher hier die paar Zeiger, 1) Check in OMS, wie viel Zeit der Dienst mit der gleichen Eingabe nimmt, die Sie verwenden, um den Webservice aufrufen. 2) Wenn von OMS Ende Antwortzeit ist in Ordnung, dann überprüfen Sie die Netzwerk-Latenz/Bandbreite. 3) CPU-Auslastung beim Zugriff auf den Webservice.