api aufruf auf demodaten (402) articles/2 dauert zu lange?

hallo, ich habe mir mal die shopware-api angeschaut und die Klasse ApiClient analog zu http://wiki.shopware.de/_detail_861_487 … iel_Client (übrigens hier ein copy&paste fehler in zeile 46: $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $this->cURL statt $ch … ) funktioniert soweit. was mich allerdings erstaunt, ist daß print_r ($x->call(‘articles/2’, ApiClient::METHODE_GET)); auf den demodaten extrem lange (19 sekunden) dauert. articles/3 dagegen 0.3 sekunden. der server läuft auf localhost, aktuelles ubuntu: 3.2.0-29 x64 kernel, i5-3570K, 16G Ram php 5.3.10 mit xcache mysql x64 5.5.27 auf einem macbook-pro dauert das 40 sekunden.

Kann ich bestätigen, ist aber nicht nur #2, #202 hat dasselbe Problem (dauert nur nicht ganz so lang).

Hallo zusammen, das liegt wahrscheinlich daran, dass Artikel 2 und 202 umfangreiche Konfiguratoren besitzen. In einer der nächsten minor Versionen werden wir die Perfomance deutlich verbessern. Viele Grüße, Benjamin Cremer :shopware:

dann hoffe ich mal für euch, daß das nicht an den für doctrine nötigen annotations liegt! das zu debuggen ist eine extrem undankbare aufgabe :stuck_out_tongue: - und m.e. eine schwachstelle bei doctrine.

erstmal vielen dank für die 4.0.2! m.e. ihr seid auf dem richtigen weg! auf jeden fall ist die performance mit der 4.0.2+demo_4.0.2.zip besser geworden: artikel 2 mit 6 varianten: time php api.php | wc -l 969 real 0m1.381s user 0m0.008s sys 0m0.020s artikel 2 mit 24 varianten: time php api.php | wc -l 2013 real 0m5.664s user 0m0.016s sys 0m0.016s artikel 2 mit einer variante: time php api.php | wc -l 679 real 0m0.422s user 0m0.004s sys 0m0.024s artikel 3 ohne varianten: time php api.php | wc -l 555 real 0m0.206s user 0m0.020s sys 0m0.012s das script: print\_r ($client-\>call('articles/2', ApiClient::METHODE\_GET)); ich finde, daß mehr als 5 sekunden für einen artikel mit nur 24 varianten immer noch zuviel ist. und meiner meinung nach sollte die antwortzeit nicht linear zu der anzahl der varianten skalieren. und was mir auch gerade auffällt, der preis fehlt. oder?

Bezüglich Scriptlaufzeit meines Importscripts bin ich auch nicht sehr glücklich. Ich importierte etwa 7000 Artikel in einer foreach-Schleife mit create(). Ist der Artikel vorhanden, so rufe ich ein update() auf. Je länger das Script läuft, desto länger benötigt ein create bzw. update. Sind es zu Beginn der Laufzeit noch 1-2 Sekunden für einen Artikel, so sind es nach 1000 Artikel bereits 5 Sekunden. Bei Version 3.5.6 lief das Script maximal 10 Minuten. Jetzt benötigt der Durchlauf bereits Stunden. Habt ihr Optimierungstipps? Soll ich am Server schrauben? LG, Markus