Marktplatz - Eine große Auswahl an neuen und hilfreichen Modulen sowie modernen Templates für die modified eCommerce Shopsoftware
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: Shop offline DB Abfrage ist nicht gecached (1.06)

    DieterW

    • Mitglied
    • Beiträge: 140
    Shop offline DB Abfrage ist nicht gecached (1.06)
    am: 22. Oktober 2018, 14:52:39
    Version 1.06:
    Ich hatte gerade ein Datenbank - Performanceproblem gesucht ... dabei ist mir nebenbei aufgefallen, dass der Shop permanent abfragt, ob er offline ist. Ich halte das bei eingeschaltetem Datenbankcache für nicht sehr sinnvoll.
    Damit habe ich das abgestellt:

    Angepasste xtc_get_shop_conf.inc.php
    Code: PHP  [Auswählen]
    <?php
    /* --------------------------------------------------------------
       configuration_get_conf.inc.php 2008-08-06 gambio
       Gambio OHG
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte <a href="index.php?topic=3013.0">Forenregeln</a> beachten! ))
       Copyright (c) 2008 Gambio OHG
       Released under the GNU General Public License
       --------------------------------------------------------------
    */


           
            /*
                    -> function to get shop_configuration values
            */

           
            function xtc_get_shop_conf($configuration_key, $result_type = 'ASSOC') {

                    $configuration_values = false;
           
                    if($result_type == 'ASSOC' || $result_type == 'NUMERIC'){

                            if(is_array($configuration_key)){
                                    foreach($configuration_key as $key){
                                            $configuration_query = xtDBquery("
                                                                                            SELECT
                                                                                                    configuration_value
                                                                                            FROM
                                                                                                    shop_configuration
                                                                                            WHERE
                                                                                                    configuration_key = '"
    . $key . "'
                                                                                                    LIMIT 1
                                                                                            "
    );
                                            if(xtc_db_num_rows($configuration_query, true) == 1){
                                                    if($configuration_values == false) $configuration_values = array();
                                                    $configuration_row = xtc_db_fetch_array($configuration_query, true);
                                                    if($result_type == 'ASSOC') {
                                                            $configuration_values[$key] = $configuration_row['configuration_value'];
                                                    } else {
                                                            $configuration_values[] = $configuration_row['configuration_value'];                           
                                                    }                                      
                                            }
                                    }
                            }
                            else{
                                    $configuration_query = xtDBquery("
                                                                                    SELECT
                                                                                            configuration_value
                                                                                    FROM
                                                                                            shop_configuration
                                                                                    WHERE
                                                                                            configuration_key = '"
    . $configuration_key . "'
                                                                                            LIMIT 1
                                                                                    "
    );

                                    if(xtc_db_num_rows($configuration_query, true) == 1){
                                            if($configuration_values == false) $configuration_values = '';
                                            $configuration_row = xtc_db_fetch_array($configuration_query, true);
                                            $configuration_values = $configuration_row['configuration_value'];
                                    }
                            }
                    }
                    return $configuration_values;
            }
    ?>

    Keine Ahnung ob das auch die 2.x Versionen trifft, habe im Moment keine Zeit für nichts. Wollte das nur loswerden falls es jemand brauchen kann / ein Ticket aufmachen will.

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

    DieterW

    • Mitglied
    • Beiträge: 140
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #1 am: 22. Oktober 2018, 14:55:48
    Achso, Anmerkung .... ich habe die xtDBquery in alle application_top.php übernommen. Normalerweise war die nur in einer. Keine Ahnung ob das Backend die Funktion nutzt ... keine Zeit ... wenn das Backend nicht mehr geht, die xtDBquery übertragen ... auch in irgendwelche speziellen application_top_callback.php oder ähnlich.

    christianwagner

    • Mitglied
    • Beiträge: 135
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #2 am: 22. Oktober 2018, 20:21:04
    Ich finde diese Shop Offline Funktion ohnehin völlig überflüssig. Google wirft mich aus dem Index wenn da eine weiße Seite + Meldung kommt. Da kann ich genau so gut die Index.html umbenennen. Ich hätte das gerne weiter hinten also das man z.B. nix den den Warenkorb legen kann etc. und dafür auf der vollständigen Hauptseite oben eine Mitteilung das gerade nicht bestellt werden kann.

    Timm

    • Fördermitglied
    • Beiträge: 6.258
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #3 am: 22. Oktober 2018, 20:34:31
    Manchmal ist aber auch sinnvoll nur die Offlineseite anzuzeigen, wenn man am Shop rumgebastelt hat und es den Kunden nicht zumutbar wäre das zu zeigen. So kann man sagen, wir führen gerade Wartungsarbeiten durch.

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #4 am: 04. November 2018, 15:16:45
    Ich finde diese Shop Offline Funktion ohnehin völlig überflüssig. Google wirft mich aus dem Index wenn da eine weiße Seite + Meldung kommt. Da kann ich genau so gut die Index.html umbenennen. Ich hätte das gerne weiter hinten also das man z.B. nix den den Warenkorb legen kann etc. und dafür auf der vollständigen Hauptseite oben eine Mitteilung das gerade nicht bestellt werden kann.

    Folgende Header werden gesetzt (modified 2.0.4.2):
    header("HTTP/1.1 503 Service Temporarily Unavailable");
    header("Status: 503 Service Temporarily Unavailable");

    Normalerweise werden 5xx-Status als zeitlich beschränkt angesehen, wieso also sollte G. dich aus dem Index werfen ?
    Ein zusätzlicher
    header( 'Retry-After: X' );wäre vielleicht sinnvoll, was man im Backend bei Erw. Konfiguration => Shop online/offline einstellbar machen könnte.

    Mache doch bitte mal für "Ich hätte das gerne weiter hinten" einen Vorschlag.

    Gruß,
    noRiddle

    christianwagner

    • Mitglied
    • Beiträge: 135
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #5 am: 04. November 2018, 22:35:30
    habe ich.

    und was google angeht:

    "Für Google stellt ein 503-Fehler ein starkes Signal dar: Auch wenn vorübergehend nicht erreichbare Seiten im Index bleiben können, sollte der betreffende Zeitraum nicht zu lange sein: Dieser sollte Stunden, nicht aber mehrere Tage oder gar umfassen."

    und auf dieses retry sollte man sich besser nicht verlassen.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #6 am: 04. November 2018, 22:47:34
    Hast du ?, wo denn ?, habe ich etwas übersehen ?

    "und auf dieses retry sollte man sich besser nicht verlassen"
    Warum, hast du dafür Belege ?

    Das sagt w3c:
    Zitat
    10.5.4 503 Service Unavailable

    The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

          Note: The existence of the 503 status code does not imply that a
        server must use it when becoming overloaded. Some servers may wish
        to simply refuse the connection.

    Was bewegt dich anzunehmen, daß Suchmaschinen, insbesondere Tante G., sich nicht daran halten/danach richten ?

    Gruß,
    noRiddle

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #7 am: 12. November 2018, 13:49:53
    Warum habe ich den Eindruck, daß immer wenn man sehr feinsinnig in ein Thema gehen möchte und Belege für Behauptungen fordert es keine Antwort mehr gibt ?

    Gruß,
    noRiddle

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: Shop offline DB Abfrage ist nicht gecached (1.06)
    Antwort #8 am: 21. November 2018, 23:14:57
    Ich finde diese Shop Offline Funktion ohnehin völlig überflüssig. Google wirft mich aus dem Index wenn da eine weiße Seite + Meldung kommt.

    Das ist doch richtig so. Google geht es um den der was sucht.
    Google erkennt beim crawlen den Error 503 - Wartungsarbeiten.
    Die Seite wird entfernt und sobald sie wieder online ist erscheint sie auch wieder an der selben Stelle ohne Rankingverlust.
    Auf die Frage wie lange das gilt kann man nur sagen je kürzer der Wartungsmodus ist umso besser ist es.
    Länger als 2 Tage sollte der nicht dauern.
    3 Antworten
    2141 Aufrufe
    01. November 2010, 17:51:35 von franky_n
    13 Antworten
    2830 Aufrufe
    22. September 2022, 13:24:56 von Timm
    10 Antworten
    5375 Aufrufe
    01. August 2012, 00:48:23 von Gradler
    4 Antworten
    3469 Aufrufe
    04. August 2011, 15:18:48 von Youli