Plötzlich hohe Prozessorauslastung

Hallo, plötzlich ist die Prozessorauslastung des Servers (3 × 1.5 GHz) von einem Tag auf den Anderen Extrem angestiegen. Beim Aufruf der Startseite (www.sto-motorsportfotos.de) steigt die Prozessorauslastung auf über 50 % an, obwohl nur ein User online ist. Auch beim Aufruf anderer Seiten ist sie mit ca 20 % relativ hoch. Vorher lage die Auslastung bei einem User bei ca 1%. Hat jemand eine Idee woran das liegen könnte? Ich bin für jede Hilfe dankbar. Viele Grüße Oliver

Hey, hast du eventuell neue Plugins installiert? Ist das dedizierte Hardware oder ein V-Server oder Shared-Hosting?

Hi, es ist ein Shared-Hosting mit garantierten 3 × 1.5 GHz. Das Problem entstand von einem Tag auf den anderen. Neue Plugins wurden nicht installiert. Ich habe allerdings unter SEO die KategorieID aus Url entfernt … Viele Grüße Oliver

Mit garantierten 3 x 1,5 Ghz - habe ich so noch nie gehört - schick mal den Link zur Angebotsbeschreibung beim Provider bitte! Was du machen kannst - Firebug und Firephp (0.6) installieren und die folgenden Plugins aktivieren. - Debug - Log - Benchmark - BenchmarkEvents Damit erhältst du dann in Firebug eine Benchmark Ausgabe und kannst (wahrscheinlich) nachvollziehen, wo die Performance „bleibt“.

Hi Stefan, hier der Link zum Angebot: http://www.hosteurope.de/produkt/Virtua … Linux-MAX2 Ich werde mal schauen ob ich mit den Plugins weiterkomme … Danke und Gruß Oliver

Auffallend ist folgende SQL-Abfrage beim Aufruf der Startseite mit 3.01647 sec: SELECT SQL_CALC_FOUND_ROWS a.id as articleID,aDetails.id AS articleDetailsID, weight,ordernumber,datum,releasedate, additionaltext, shippingfree,shippingtime,instock, a.description AS description, description_long, aSupplier.name AS supplierName, aSupplier.img AS supplierImg, a.name AS articleName, topseller,supplierID, minpurchase, purchasesteps, DATE_FORMAT(changetime,’%d.%M %Y %H:%i’) AS datumFormated, changetime, maxpurchase, purchaseunit, referenceunit, unitID, attr1,attr2,attr3,attr4,attr5,attr6,attr7,attr8,attr9,attr10, attr11,attr12,attr13,attr14,attr15,attr16,attr17,attr18,attr19,attr20, ( SELECT GROUP_CONCAT(value SEPARATOR ‚, ‚) FROM s_filter_values WHERE articleID=a.id GROUP BY articleID LIMIT 1 ) as tags, IFNULL((SELECT CONCAT(AVG(points),‘|‘,COUNT(*)) as votes FROM s_articles_vote WHERE active=1 AND articleID=a.id),‚0.00|00‘) as sVoteAverange, IF(DATEDIFF(NOW(), a.datum)<=30,1,0) as newArticle FROM s_articles AS a INNER JOIN s_articles_categories AS aCategories INNER JOIN s_articles_supplier AS aSupplier INNER JOIN s_articles_attributes AS aAttributes INNER JOIN s_articles_details AS aDetails WHERE aCategories.categoryID=501 AND aCategories.articleID=a.id AND a.mode = 1 AND aAttributes.articleID = a.id AND aAttributes.articledetailsID=aDetails.id AND aSupplier.id=a.supplierID AND aDetails.articleID=a.id AND aDetails.kind=1 AND a.active=1 AND ( SELECT articleID FROM s_articles_avoid_customergroups WHERE articleID = a.id AND customergroupID = 1 ) IS NULL AND changetime <= NOW() ORDER BY a.changetime DESC EDIT: Es ist wohl der Blog! Viele Grüße Oliver

Kann man das optimieren? Viele Grüße Oliver

Setze mal per PHPMyAdmin einen Index auf die Spalte changetime in s_articles - dann sollte das erheblich schneller sein!

1 Like

2.55702 1 SELECT SQL_CALC_FOUND_ROWS a.id as articleID,aDetails.id AS articleDetailsID, weight,ordernumber,datum,releasedate, additionaltext, shippingfree,shippingtime,instock, a.description AS description, description_long, aSupplier.name AS supplierName, aSupplier.img AS supplierImg, a.name AS articleName, topseller,supplierID, minpurchase, purchasesteps, DATE_FORMAT(changetime,’%d.%M %Y %H:%i’) AS datumFormated, changetime, maxpurchase, purchaseunit, referenceunit, unitID, attr1,attr2,attr3,attr4,attr5,attr6,attr7,attr8,attr9,attr10, attr11,attr12,attr13,attr14,attr15,attr16,attr17,attr18,attr19,attr20, ( SELECT GROUP_CONCAT(value SEPARATOR ‘, ‘) FROM s_filter_values WHERE articleID=a.id GROUP BY articleID LIMIT 1 ) as tags, IFNULL((SELECT CONCAT(AVG(points),’|’,COUNT(*)) as votes FROM s_articles_vote WHERE active=1 AND articleID=a.id),‘0.00|00’) as sVoteAverange, IF(DATEDIFF(NOW(), a.datum)<=30,1,0) as newArticle FROM s_articles AS a INNER JOIN s_articles_categories AS aCategories INNER JOIN s_articles_supplier AS aSupplier INNER JOIN s_articles_attributes AS aAttributes INNER JOIN s_articles_details AS aDetails WHERE aCategories.categoryID=501 AND aCategories.articleID=a.id AND a.mode = 1 AND aAttributes.articleID = a.id AND aAttributes.articledetailsID=aDetails.id AND aSupplier.id=a.supplierID AND aDetails.articleID=a.id AND aDetails.kind=1 AND a.active=1 AND ( SELECT articleID FROM s_articles_avoid_customergroups WHERE articleID = a.id AND customergroupID = 1 ) IS NULL AND changetime <= NOW() ORDER BY a.changetime DESC Es ist ein bißchen schneller geworden. Kann man noch weiter optimieren? Viele Grüße Oliver

Welche Shopware-Version hast du denn aktuell installiert?

Noch 3.5.3! Am Wochenende werde ich wohl mal updaten. Viele Grüße Oliver

Und der DB-Cache ist aktiv? Prüfe das bitte mal bzw. achte bei dem Update auf 3.5.4 darauf, das du diesen wieder aktivierst - unter Grundeinstellungen > Performance! Wie viele Artikel / Blog-Artikel hast du denn derzeit im System?

Nach Update auf 3.5.4 und erneuter Aktivierung des Cache: Ladezeit der Startseite 1,42 sec mit deaktiviertem Browser-Cache laut Firebug :smiley: Prima !!! Viele Grüße Oliver