Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Performance - order_history.php

    Taste

    • Frisch an Board
    • Beiträge: 86
    Performance - order_history.php
    am: 30. Juni 2012, 22:04:05
    Guten Abend,

    ich weiß ich habe mich noch nicht vorgestellt, ich werde das später nachholen, aber wenn ich jetzt nicht gleich schreibe, vergesse ich es wieder ;)

    Kurze Vorgeschichte bevor ich zu dem Problem kommen:
    Wir haben heute ein neues Produkt eingeführt, zum Verkaufsstart waren ~1000 Kunden auf der Seite und wollten einkaufen. Dann ist der Mysql Server abgestürzt. (Server: 2 x Intel® Xeon® 2,13 GHz, 32GB Arbeitsspeicher, Mysql läuft auf SSD)

    Heute Abend kam ich dazu die Slow-Query-Logs auszuwerten und habe erstmal gestaunt (siehe Anhang.)

    select distinct op.products_id from orders o, orders_products op, products p where o.customers_id = '****' and o.orders_id = op.orders_id and op.products_id = p.products_id and p.products_status = '1' group by products_id order by o.date_purchased desc limit 6

    Das ist die einzige Zeile, die die Slow Query Log füllt. Ausgeführt wird diese in der order_history.php:

    templates/******/source/boxes/order_history.php:
    // retreive the last x products purchased
        $orders_query = xtc_db_query("select distinct op.products_id from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_PRODUCTS . " p where o.customers_id = '" . (int)$_SESSION['customer_id'] . "' and o.orders_id = op.orders_id and op.products_id = p.products_id and p.products_status = '1' group by products_id order by o.date_purchased desc limit " . MAX_DISPLAY_PRODUCTS_IN_ORDER_HISTORY_BOX);

    Das Ergebnis wird an das Template in "box_HISTORY" übergeben, so können einem Kunden die letzten 6 Produkte ausgegeben werden, die er bestellt hat.

    Eingebunden wird das ganze in:

    templates/******/source/boxes.php:
      if (isset($_SESSION['customer_id'])) include(DIR_WS_BOXES . 'order_history.php');

    Verwendung findet das ganze keine, also nicht nur bei mir auch im XTC Template wird es nicht verwendet, oder habe ich etwas übersehen?
    Für mich sieht das ganze nach Altlast aus, vielleicht sollte das ganze im nächsten Update entfernt werden? (Ich hoffe ich habe auf die Schnelle nichts übersehen)

    Die Überlastung des Servers hatte noch ein Paar andere Nebeneffekte, dazu werde ich morgen noch etwas schreiben, ist ja eine Situation, die sich schlecht simulieren lässt :)

    Viele Grüße und noch einen schönen Abend,
    Steffen


    Linkback: https://www.modified-shop.org/forum/index.php?topic=20884.0

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Performance - order_history.php
    Antwort #1 am: 30. Juni 2012, 23:25:51
    Hallo Steffen,

    mit deiner Aussage hast du völlig recht. Die Box "order_history" ist ein wenig obsolet.
    Die Box selber wird in der index.html vom Template nicht aufgerufen. Man könnte dieses durch {$box_HISTORY} machen.

    Aber wie ich schon erwähnt habe, ist diese Box in meinen Augen obsolet, zumal der eingeloggte Kunde auch innerhalb des Bereiches "Mein Konto" seine letzten Bestellungen sehen kann.

    Gruß
    Ronny

    Taste

    • Frisch an Board
    • Beiträge: 86
    Re: Performance - order_history.php
    Antwort #2 am: 01. Juli 2012, 11:47:08
    Ich hab die order_history.php inzwischen in der boxes.php auskommentiert. Kann ich nur empfehlen.
    Im eingeloggten Zustand hat sich die Ladezeit des Shops um eine gefühlte Sekunde verringert (im Frontend).

    Das Query ist ja auch nicht ohne, das läuft über 3 Tabellen + distinct + group by

    DokuMan

    • modified Team
    • Beiträge: 6.669
    • Geschlecht:
    Re: Performance - order_history.php
    Antwort #3 am: 02. Juli 2012, 10:37:48
    Stimmt, das {$box_HISTORY} wird nie wirklich verwendet... ich seh das heute zum ersten Mal  :paperbag:

    Ich denke auch, das kann raus, zumal wie gesagt unter "Mein Konto" alles schön dargestellt ist und man es da auch eher vermutet.

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: Performance - order_history.php
    Antwort #4 am: 16. August 2012, 05:06:22
    Ich hab die order_history.php inzwischen in der boxes.php auskommentiert. Kann ich nur empfehlen.

    Kann man es wirklich gefahrlos löschen oder wird es doch für irgendetwas benötigt ?

    jannemann

    • modified Team
    • Beiträge: 6.275
    • Geschlecht:
    Re: Performance - order_history.php
    Antwort #5 am: 16. August 2012, 09:03:15
    Hallo Simon,

    du kannst es löschen, ich empfehle es aber auszukommentieren.
    Das kannst du gefahrlos machen.

    Schöne Grüße,
    Jan

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: Performance - order_history.php
    Antwort #6 am: 16. August 2012, 17:42:05

    Hallo Jan,

    danke dir. Im Trunk ist es noch nicht auskommentiert, jetzt war ich mir nicht sicher.

    Taste

    • Frisch an Board
    • Beiträge: 86
    Re: Performance - order_history.php
    Antwort #7 am: 07. Juli 2014, 14:05:00
    Wollte noch einmal hierauf hinweisen. In der aktuellen Version die zum Download angeboten wird besteht das Problem noch immer. Ist sicher untergegangen :)
    Trade Republic - Provisionsfrei Aktien handeln
    15 Antworten
    7259 Aufrufe
    08. August 2012, 09:00:29 von keineLustmehr
    0 Antworten
    1041 Aufrufe
    28. Mai 2018, 15:41:33 von webald
    16 Antworten
    7930 Aufrufe
    06. Dezember 2009, 13:36:06 von silentone
    3 Antworten
    3595 Aufrufe
    23. Oktober 2009, 20:49:54 von guensi