Jump to content

Pár éves Prestashop motor cserére érett vagy van még esélye?


roland76

Recommended Posts

Sziasztok!

 

Rég jártam erre :)

Cégünk 2011 decembere óta használ egy PS rendszert. (Pontosabban kettőt is) Időközben szépen meg is hízott. Közel 13000 termékről beszélünk. Sajnos egyre gyakoribbak az Internal Server Error hibák és a lassulások. Ez főleg év vége felé volt kellemetlen. A szolgáltatónk úgy-ahogy toleráns volt, bár elképzelhető, hogy a háttérben kaptunk némi féket, nehogy a többi oldal rovására menjen.

Tudjuk, változtatni kell, de viszonylag meg volt kötve a kezünk, mivel nem láttunk a motor mögé, hogy mikor, melyik utasítás foghatja meg a rendszert. Ma végre sikerült beszélnem valakivel, aki elárulta, hogy a motor borzalmasan van megírva, pl keresések során nincs index a search_word táblán és valóban.... Ezekben a táblákban pedig milliós rekordok vannak, amiket joinnal kapcsolna össze a search_word-del.... Tényleg borzalmas munka elé állítja az SQL szervert.

 

Igazából kicsit tanácstalan vagyok. Előbb-utóbb nem ússzuk meg a teljes cserét, jobb lenne nem rögtön év elején ezzel kezdeni. Tud-e, van-e valakinek ötletet, amivel ha ideiglenesen is, de javítható lenne egy koros PS teljesítménye?

 

Illetve csinálnék egy gyors körkérdést is, hogy ki hány termékkel használja megbízhatóan a Prestát?

Mi kettőt nyúzunk, az egyik, ami jobban le is van épülve 13000 terméket visz, ez régebbi is 1.4.4.0-as

A másik csak 7500 termékkel üzemel PS 1.4.6.2, ez hatványozottan jobb is.

Tudom, tudom... frissíteni kellett volna, de az akkori saját fejlesztések, amiket hozzáírtam ezt sajnos kizárták. Késő bánat, mindegy is most már.

 

Ha esetleg nincsenek ilyen "csodamódszerek" amikben én sem nagyon hiszek, akkor mit javasolnátok? Kezdjük el felépíteni 0-ról egy új webshopot?

 

Előre is köszönök minden építő jellegű hozzászólást.

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

A prestát majdhogynem bármennyi termékkel lehet használni. Nem a motor a kulcs hanem az alatta lévő vas.

 

Én az 1.4-eseket mindenképp frissíteném 1.6.x stabilra. Tulajdonképp nem gond, ha ez most nem oldható meg: ahogy írtam fent, a szerver a lényeg. A "borzalmasan van megírva" őszintén szólva bántja a szemem. Nem, nincs borzalmasan megírva: mindent az időhöz mérten kell nézni. Milyen más rendszer volt "jobban" megírva az 1.4-es generáció idejében?

 

Én inkább költöznék egy másik szolgáltatóhoz. Valószínűleg osztott tárhelyen van a ps, így a "Ez főleg év vége felé volt kellemetlen." mondat egyértelmű: itt volt a karácsony, mindenki rohamozta a webshopokat, nagy volt a forgalom. 13 ezer termékes shopot én már nem raknék osztott tárhelyre.

 

Az viszont biztos, hogy ha a jelenlegi szolgáltató alatt frissíted fel a motort akkor vagy nem fog menni vagy sokkal lassabb lesz. Az 1.4 jóval kevesebb erőforrást emészt fel mint a két generációval újabb társa.

 

Én a szolgáltató vasát venném górcső alá inkább annak függvényében, hogy azt hány weboldal használja.

Attila

Link to comment
Share on other sites

Szia Attila!

 

Valahogy sejtettem, hogy Tőled kapok először választ :) 2011 körül több árösszehasonlító oldalhoz generáló scriptekkel kapcsolatban váltottunk pár e-mailt.

Az, hogy 'borzalmasan van megírva" szó szerint idéztem és bár én is úgy-ahogy hű vagyok a PS-hez, mitöbb az elmúlt 5 évem anyagi "támogatását" is ennek köszönhetem, Nyilván csak a jelen technika megoldásai mellett tudjuk ezt megítélni. A szolgáltatót is elég jól ismerem, 20-30 oldalt biztos futtatok náluk. Így a "borzalmas" jelző valóban sértő, de sajnos a hiba amit most már én is látok el kell ismerjem, hogy súlyos. Webfejlesztő lévén biztos te is tudod, hogy olyan, hogy valamik kész, nincs. Tudom, tudom, ezért kell frissíteni. A jövőben ezt is szem előtt fogjuk tartani.

Mivel a cég növekszik, valószínű a VPS lesz a megoldás, de addig is ki kell valamit találni.

Nagyon úgy tűnik, hogy az adatbázis felépítésében lesznek a sarkalatos pontok. Ahogy írtam két PS-t is használunk és érdekes mód az újabb hatványozottan jobban is muzsikál.

 

Majd beszámolok mire jutottam.

 

És persze azért köszönöm az építő szándékot.

Link to comment
Share on other sites

Van saját szerverszolgáltatásunk kimondottan PS-re. Ha gondolod, van 1 hetes próbalehetőség ingyen.

 

VPS-re csak akkor tenném, ha tényleges van hozzá jó rendszergazda aki pöpecül beállít mindent rajta.

Írj majd, kíváncsi vagyok mi lesz a megoldás.

Köszi! ;)
 

Link to comment
Share on other sites

  • 3 weeks later...

Ígértem egy választ. Nos az ominózus 1.4.x PS forráskódját alaposan átnéztem és találtam benne egy olyan részt, ami nem is értem hogy maradhatott benne. Ennek lényege, hogy ha a termékek szám elérte, illetve meghaladta a 2000-t, akkor egyszerűen eldobta a tábla indexelését. Ez így néz ki a search.php-ben:

        if (count($products) > 2000)
            $dropIndex = true;
        
        if ($dropIndex)
        {
            $dropIndex = false;
            $result = $db->ExecuteS('SHOW INDEX FROM `'._DB_PREFIX_.'search_index`');
            foreach ($result as $row)
                if (strtolower($row['Key_name']) == 'primary')
                    $dropIndex = true;
            if ($dropIndex)
                $db->Execute('ALTER TABLE '._DB_PREFIX_.'search_index DROP PRIMARY KEY');
            $dropIndex = true;
        }

Így minden keresés egy index nélküli táblában történt. Ezt javítottam úgy, hogy ezt kiiktattam, majd újraindexeltem az összes terméket. Az összes keresőszó és reláció az adott termékhez most már egy megfelelően indexelt táblákban vannak tárolva. Még számomra is meglepő módon gyorsabb lett az oldal, főleg a keresés, de kiemelhetném akár a termékfeltöltést is, mert mentés során is belefut a program ebbe az ágba.

Szóval a fő probléma ideiglenesen elhárítva. Ettől függetlenül azért elkezdtem fejlesztgetni 1.6-os alapokra egy új webshopot, de ez a rendszerünk komplexitását illetően nem olyan egyszerű. Ügyvitel programunkhoz szinkron modult kell írnom, valamint Vatera, eMAG kapcsolatokat, illetve van egy kiegészítő adminisztrációs felületünk, ami független ugyan a Presta-tól, de használja annak adatait pl MPL csomagfeladáshoz, garanciális ügyekhez, rendelésekhez. Szóval nem 1-2 hetes munka lesz összehozni :)

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...