Performance Probleme im Checkout - wie das Problem ermitteln?

Hi, 

ich habe das Problem das in einem von meinen 2 Shops die Seiten /checkout/confirm und /checkout/shippingPayment/sTarget/checkout vergleichsweise langsam sind.

In Shop 1 z.B. braucht der Zahlungsartwechsel ca. 200ms in Shop 2 aber 2500ms. Fühlt sich fast unerträglich langsam an. Der Rest läuft alles in 50-100ms ab nur der Checkout macht Probleme.

Ich hoffe das der ein oder andere einen Vorschlag hat wie ich z.B. mal loggen kann was genau beim Wechsel der Zahlart passiert um nachvollziehen zu können warum es bei einem Shop zu diesem Verhalten kommt. Da es die Produktivumgebung ist, ist ein deaktivieren aller Plugins eigentlich nicht die erste Wahl.

Was schreibt denn die Konsole F12 ?

Eine Bremse im shippingPayment ist z.B. Stripe (m.stripe.com) 1146ms ;  oder Amazon Pay …

Ich selbst empfinde das aber nicht als “lahm”.

Es könnte allerdings sein, dass da was “hängt”, das kannst Du aber anhand des Status in der Konsole leicht rausfinden

 

 

Also in der F12 Konsole hatte ich nichts Besonderes gesehen. Stripe und PayPal(Plus) habe ich auch.

PayPal Plus wäre zumindest auf allen Betroffenen Seiten integriert.

Da wäre dann der Ansatz…

Das paypal plus haben wir nicht wegen der vielen Probleme die es schon gemacht hat…

Da gibt es aber das neue Paypal Plugin - mal sehen wie sich das entwickelt…

 

Prüf doch auch mal die Serverlogs während der Bestellungen, vielleicht findet sich da was; wenn nicht, denke ich dass es auch am „langsamen“ Server/Hosting liegen kann. Hierfür wären dann weitere Test notwendig.

Link zum shop ?

So, bin leider nicht früher dazu gekommen :slight_smile:

Hab nun mal zum Probieren PayPal Plus im 2. Shop aktiviert und siehe da. 4 Sekunden braucht die Seite “/checkout” MIT PayPal Plus. OHNE PayPal Plus lädt die Seite in 485ms.

Wer ist den für das Plugin PayPal Plus zuständig? Shopware? Ich habe nichts anderes gemacht als den Haken bei PayPal Plus im Backend zu setzen und schon wurde der Checkout super langsam. Und das sogar noch im Testshop wo nur PayPal und PayPal Plus installiert sind.

Welches Plugin nutzt du denn? Das neue?

Generell wird der Checkout langsamer aufgrund der API Calls, da muss ja immer auf die Antwort der Paypal API gewartet werden. 4 Sekunden scheinen mir jetzt aber auch lang.

Zu paypal pluss kann ich leider nichts schreiben da wir es nicht einsetzen; es gibt ja aber das neue paypal-modul wo alles drin ist, aber das setzen wir auch nicht ein weil es noch zuviel probleme macht (siehe hier im forum)

Ich kann nur raten das nicht in einem live-shop zu machen…

Link zum shop ?

 

Hi, ich hatte garnicht mitbekommen, das es ein neues PayPal Plugin gibt.

Ich hab das nun mal installiert und es läuft schon etwas besser. ABER trotzdem wird der Checkout nach Aktivierung von PayPal Plus deutlich langsamer (von 300ms auf 1500ms).

Deaktiviert man PayPal Plus wieder ist alles wieder Flott. Der Wechsel zwischen den PayPal zahlarten geht schnell, aber wenn ich von PayPal auf Vorauskasse gehe ist es wieder etwas langsam.

Gibt es eigentlich eine Dokumentation, wie ich idealerweise von den alten Plugins auf die neuen umstellen kann und danach auch noch alles funktioniert? Hab noch den JTL Connector und würde gerne das neue im produktivem Shop einsetzen habe aber bedenken was eine Umstellung angeht und was man dabei beachten sollte.

Deshalb hat man einen Testshop.

@BestShopPossible schrieb:

Deshalb hat man einen Testshop.

Du meinst sicher „sollte man haben“  Wink

Nicht alles lässt sich von einem Testsystem in eine Live-Umgebung 1:1 darstellen. Gerade genau das worum es hier geht: die paar Millisekunden/Sekunden im Checkout.

Was vielleicht da im Testsystem recht gut flutscht; zeigt sich dann live als Bremse (hier paypal/amazon pay/stripe etc. etc.)

Im Testshop prüft man die allgemeine Funktion und dass alles glattläuft und ohne Fehler. Nur im Live-Shop hast Du es dann eben wirklich Live Smile

 

 

@BestShopPossible schrieb:

Deshalb hat man einen Testshop.

Testshop habe ich, ist aber kein Duplikat/Staging des live Systems. Jetzt habe ich ja zwei Kernprobleme.

  1. PayPal Plus macht den Checkout immer noch lahm

  2. Die Umstellung vom alten PayPal aufs neue PayPal Plugin

Der Live Shop hat ja bereits Tausende Bestellungen die mit PayPal bezahlt wurden und ich würde gerne sicherstellen, dass wenn ich die beiden Plugins deinstalliere und das neue installiere das nichts verloren geht. (klar mach ich ein Datenbank Backup davor!)

Dazu kommt danach natürlich noch das normale einrichten mit der Wawi womit Shopware ja nichts zu tun hat (Rechnungskauf hat besondere Anforderungen). Die Frage ist nur ob Shopware den Umstieg vom alten aufs neue Plugin irgendwie so gestaltet hat das man ganz einfach wechseln kann und es dazu eine Dokumentation gibt.

Ich kenne nur die:

insbesondere da die “Kompatibilität”

1 „Gefällt mir“

Hallo in die Runde! @Pua7: Hast du bereits eine Lösung für das Problem gefunden? Wir beobachten in unserem Shop und in der Testumgebung gerade genau das gleiche Verhalten. Mit PayPal Plus haben wir im Checkout Ladezeiten zwischen 4 und 5 Sekunden. Ohne liegen sie bei 1-2 Sekunden Ladezeit pro Seitenaufruf. Und hier entstehen die zusätzlichen Sekunden: Verursacht wird das anscheinend von der Datei Components/RestClient.php in Zeile 176. Dort wird die Methode sendRequest definiert. Diese sendet gleich 3 Calls an die PayPal API bzw. wird drei mal aufgerufen. Ich habe die Requests via PHP am Anfang und Ende der Funktion gemessen:

invoicing/invoices/next-invoice-number completed in 1277.6560783386 milliseconds
invoicing/invoices/next-invoice-number completed in 888.27896118164 milliseconds
payments/payment completed in 1014.8630142212 milliseconds

Das dauert insgesamt 3 Sekunden und blockiert das Rendering des Checkouts! Sowohl auf der URL /checkout/shippingPayment/sTarget/checkout als auch auf /checkout/confirm

Können wir irgendetwas unternehmen, damit das schneller wird? Hier der Code der Funktion mit meinen debugging Ergänzungen:

private function sendRequest($method, $uri, array $params = array())
    {
		$time_start = microtime(true);
        $params = array_merge($params, $this->authHeader);
        $request = $this->restClient->createRequest($method, $uri, $params);
        $result = $this->restClient->send($request);
		$time_end = microtime(true);

		$time = $time_end - $time_start;

		echo $uri." completed in ".($time*1000)." milliseconds\r\n";
        return json_decode($result->getBody()->getContents(), true);
    }

 

Bisher gibt es keine Lösung dafür. Das neue PayPal Plugin ist etwas besser als das alte, aber dennoch nicht wirklich flüssig.

Ich wollte generell mal im Checkout bei der Auswahl der Zahlart schauen ob man das nicht schöner vereinheitlichen kann als es das PayPal Plugin macht. Das ganze fügt sich nicht zu 100% ins Erscheinungsbild ein.

1 „Gefällt mir“

Mit der neuesten Version bei PayPal dauert es mitunter 30 Sekunden, zeitweise wird die checkout/shippingPayment auch gar nicht geladen.

Auch das wechseln der Zahlungsarten braucht ewig bei dem Aufruf: 

Request URL: https://example.com/checkout/saveShippingPayment/sTarget/checkout/sTargetAction/index

Hat PayPal Probleme oder liegt es am Plugin?

 

Ps, wenn ich Plus deaktiviere läuft der Checkout flüssig.

kann ich nicht bestätigen, dauerte eben maximal 6-8 Sekunden.

Ich denke eher dass es an der User-Seite im Browser liegt und an anderen Dingen die auf dem Rechner so laufen. Und natürlich wann der Test gemacht wurde. Auch die Infrastruktur ist momentan sehr ausgelastet (Vodafone-Probleme Deustschlandweit - betrifft nicht nur Vodafone-Kunden)

Es könnte natürlich auch ein Plugin bremsen, wie google analytics, etc.

Ich hatte PayPal-Plus heute nacht deaktiviert, damit wenigstens normal bezahlt werden konnte, denn ich erhielt zwei Mails von verschiedenen Kundinnen die sich beschwerten dass es nicht lief. Ich wunderte mich schon am Sonntag über den schwachen Tag, obwohl das normal (mit Montag) der stärkste Tag ist… Montag war auch mau.

Es gibt manchmal solche kuriosen Tage, dann kriege ich meistens Mails dass der Rechnungskauf, SEPA o.ä. nicht klappt.

Ich weiß noch nicht ob ich PpPlus nochmal aktivieren werde, ich hatte damit schon öfter Probleme, auch schon das monatelang kein einziger Rechnungskauf durchging, PP aber meinte es sei alles in Ordnung, es wäre Zufall. Bis dann irgendwann rauskam, dass es in irgendwelchen untiefen gesperrt war… warum dann die Zahlungsart überhaupt angezeigt wurde und die Kundinnen frustriert wurden, konnte mir auch keiner beantworten. Weshalb gesperrt wurde konnte mir ebenfalls niemand beantworten, denn für ESD-Artikel hatte ich PP komplett deaktiviert… vermutlich waren es Rabatte die ich als Gutschein-Code drin waren und den Titel Gutschein-Rabatt trugen.

Das PpPlus manchmal nicht zufriedenstellend funktioniert ist verkraftbar, ich mag ohnehin keine Rechnungskäufe (selbst wenn sie gesichert sind),

das schlimmere ist, dass es die letzten zwei Tage vermutlich auch alle anderen Zahlungsarten gestört hat!

Das Problem sind die Virenscanner und FF auf den Rechner der Leute. Je nach Serverkonfiguration muss es zu einem Abbruch kommen. Auf dem Server ist eingestellt das nur eine direkte Verbindung erlaubt ist von Shop zu Paypal. „Virenscanner“ meinen sie müssten sich dazwischenklemmen. Frage deine Kunden bei Rückmeldungen nach Virenscannern und dem Browser. Die Bestellung sollte funktionieren bei deaktiviertem Virenscanner.

@beat schrieb:

Das Problem sind die Virenscanner und FF auf den Rechner der Leute. Je nach Serverkonfiguration muss es zu einem Abbruch kommen. Auf dem Server ist eingestellt das nur eine direkte Verbindung erlaubt ist von Shop zu Paypal. „Virenscanner“ meinen sie müssten sich dazwischenklemmen. Frage deine Kunden bei Rückmeldungen nach Virenscannern und dem Browser. Die Bestellung sollte funktionieren bei deaktiviertem Virenscanner.

Das ist ein anderes Problem das mit 5.6 behoben sein sollte. 

Das Performenceproblem liegt an Plugin oder PayPal

Ich denke es liegt an PayPal, das gravierende ist, dass es bei API-Problemen die komplette Checkout-Seite bremst.

 

Ich hatte selbst schonmal PayPal-Plus in einen selbstprogrammierten Shop einprogrammiert.

Dort hatte ich die PLUS-Funktionen über eine Extraseite eingebunden, bsp.

  1. Warenkorb

  2. Checkoutseite zur Zahlungsauswahl ( A  PayPal, B Vorkasse, … D  Rechnung-KK-SEPA (Beschreibung))

Sofern D gewählt wurde, wurde eine weitere zwischenseite geladen, wo dann der Kunde Rechnung, KK, Kreditkarte auswählen konnte.

Der Extraklick ist für die Kunden zwar unschön, aber so stören API-Fehler die normalen Zahlungsarten wenigstens nicht und ist Datenschutzmäßig auch “besser”.