OXID Community Forum

> German forum > Entwickler > Performance Oxid Api
Login
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Thread: Performance Oxid Api


Reply
 
Thread Tools Display Modes
#Top   #1  
Old 02-16-2012, 09:36 AM
coarsy's Avatar
coarsy coarsy is online now
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,695
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Performance Oxid Api

Hi zusammen,

ich lese mittels einem PHP Script alle Varianten aus, welche zu einem Artikel gehören und bastel mir daraus ein JSON Objekt zusammen. Funktioniert soweit alles bestens. Nur wollte ich jetzt mal die API verwenden und hab mir dafür eine eigene View erstellt. Das funktioniert auch soweit bestens und das JSON Objekt wird auch erstellt.

Allerdings ist die Performance mit der API wesentlich schlechter als mit meinem vorher verwendeten PHP Script ohne auf die OXID API zuzugreifen, so dass ich jetzt wieder das alte Script einsetzen.

Hab ehrlich gesagt keinen Schimmer, weshalb die Performance bei Verwendung der API so einbrachte. Sprich, die Requests benötigen ca. 200 ms länger, was sich natürlich auf die Bedienung im Frontend merklich auswirkt.

Der View besteht lediglich aus zwei Funktionen, 3 einfachen SQL Statements und zwei WHILE Schleifen, also kein Hexenwerk.

Was lässt denn bitteschön die Performance so einknicken?

Gesendet von meinem HTC Vision mit Tapatalk
__________________
Allerbeste Grüße und Dankeschön vom Chris

http://www.meinestruempfe.de
Oxid CE 4.7.11 / CAO <-> COI
Reply With Quote
#Top   #2  
Old 02-16-2012, 10:02 AM
avenger's Avatar
avenger avenger is offline
Senior Member
Join Date: May 2009
Posts: 2,083
avenger is on a distinguished road
Default AW: Performance Oxid Api

Welche API-Funktionen genau verwendest Du denn?

Setze doch mal iDebug auf 3, dann sieht man ja, was da alles geschieht.
__________________


Individuelle und hochwertige OXID 4 Templates und Shop-Erweiterungen gibt es bei http://www.powertemplate.de
  1. Dem Ingeniör ist nichts zu schwör (Daniel Düsentrieb, 1952)
  2. Geht nicht, gibt's nicht.
  3. Was nicht passt, wird passend gemacht
Weitere Informationen zum powertemplate.de Angebotsspektrum unter http://www.shopplaner.de
Reply With Quote
#Top   #3  
Old 02-16-2012, 10:21 AM
coarsy's Avatar
coarsy coarsy is online now
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,695
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default

Okay, teste ich dann, sobald ich Zuhause bin.

Benutze nur die oxDb Funktionen für die Db Connection und daraufhin die Execute Funktionen, sowie in den while-Schleifen dann EOF und innerhalb der Schleifen dann die next Funktion. Also wirklich nix Besonderes.

Gesendet von meinem HTC Vision mit Tapatalk
__________________
Allerbeste Grüße und Dankeschön vom Chris

http://www.meinestruempfe.de
Oxid CE 4.7.11 / CAO <-> COI
Reply With Quote
#Top   #4  
Old 02-16-2012, 10:25 AM
avenger's Avatar
avenger avenger is offline
Senior Member
Join Date: May 2009
Posts: 2,083
avenger is on a distinguished road
Default AW: Performance Oxid Api

Und was hast Du vorher gemacht?

Wenn Du das API aktivierst, dann wird ja m.E. viel mehr, als nur oxDB aktiviert....
__________________


Individuelle und hochwertige OXID 4 Templates und Shop-Erweiterungen gibt es bei http://www.powertemplate.de
  1. Dem Ingeniör ist nichts zu schwör (Daniel Düsentrieb, 1952)
  2. Geht nicht, gibt's nicht.
  3. Was nicht passt, wird passend gemacht
Weitere Informationen zum powertemplate.de Angebotsspektrum unter http://www.shopplaner.de
Reply With Quote
#Top   #5  
Old 02-16-2012, 10:36 AM
coarsy's Avatar
coarsy coarsy is online now
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,695
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default

Nur die oxubase extended, dann hab ich ja schon alles. Also class getvariants extends oxubase. Vielleicht too much?

Gesendet von meinem HTC Vision mit Tapatalk
__________________
Allerbeste Grüße und Dankeschön vom Chris

http://www.meinestruempfe.de
Oxid CE 4.7.11 / CAO <-> COI
Reply With Quote
#Top   #6  
Old 02-16-2012, 10:39 AM
avenger's Avatar
avenger avenger is offline
Senior Member
Join Date: May 2009
Posts: 2,083
avenger is on a distinguished road
Default AW: Performance Oxid Api

Wenn Du mit oxDB da selbst Hand anlegst brauchst Du ja sonst nichts.

Aber schau mal was Dir der Debugmodus liefert
__________________


Individuelle und hochwertige OXID 4 Templates und Shop-Erweiterungen gibt es bei http://www.powertemplate.de
  1. Dem Ingeniör ist nichts zu schwör (Daniel Düsentrieb, 1952)
  2. Geht nicht, gibt's nicht.
  3. Was nicht passt, wird passend gemacht
Weitere Informationen zum powertemplate.de Angebotsspektrum unter http://www.shopplaner.de
Reply With Quote
#Top   #7  
Old 02-16-2012, 10:49 AM
coarsy's Avatar
coarsy coarsy is online now
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,695
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default

Ja, ich fackel mit oxbd nur 3 einfache Queries ab in mach dann nach dem Erstellen ein echo encode_json($json) nachdem ich mir das Array erstellt hab. Mehr ist das net. Oder sollte man ne andere Klasse erweitern? Ich brauch ja wirklich nur oxDb und die adodb Synt x, fertig ist der Anstrich.

Gesendet von meinem HTC Vision mit Tapatalk
__________________
Allerbeste Grüße und Dankeschön vom Chris

http://www.meinestruempfe.de
Oxid CE 4.7.11 / CAO <-> COI
Reply With Quote
#Top   #8  
Old 02-16-2012, 11:22 AM
leofonic leofonic is online now
Senior Member
Join Date: Oct 2009
Posts: 2,774
leofonic is on a distinguished road
Default AW: Performance Oxid Api

Die Ursache ist (ziemlich wahrscheinlich): in oxubase werden Components initialisiert:
PHP Code:
    protected $_aComponentNames = array(
                                    
'oxcmp_user'       => 1// 0 means dont init if cached
                                    
'oxcmp_lang'       => 0,
                                    
'oxcmp_cur'        => 1,
                                    
'oxcmp_shop'       => 1,
                                    
'oxcmp_categories' => 0,
                                    
'oxcmp_utils'      => 1,
                                    
'oxcmp_news'       => 0,
                                    
'oxcmp_basket'     => 1
                                  
); 
Du kannst in deinem View einfügen:
PHP Code:
    protected $_aComponentNames = array(); 
Dann läuft das wieder mit Full Speed!
__________________
Frank

www.zunderweb.de - Zunderweb IT Beratung
Ajax Multifilter XL - Turbo für den Attributfilter
Reply With Quote
#Top   #9  
Old 02-16-2012, 02:43 PM
coarsy's Avatar
coarsy coarsy is online now
Senior Member
Join Date: May 2010
Location: Frankfurt / Main
Posts: 1,695
coarsy is on a distinguished road
Send a message via Skype™ to coarsy
Default Re: Performance Oxid Api

Hi Frank, hi Avenger,

so, jetzt habe ich gerade mal das hier eingebaut:

PHP Code:
class getvariants extends oxUBase
    

        
        protected 
$_aComponentNames = array();  
        
        public function 
render()
        { 
               
        
$colorPosition oxConfig::getInstance()->getShopConfVar("colorPosition"$sShopId null );
        
$varThumbSize oxConfig::getInstance()->getShopConfVar("varThumbSize"$sShopId null );
        
$varProductSize oxConfig::getInstance()->getShopConfVar("varProductSize"$sShopId null );
        
$varZoomSize oxConfig::getInstance()->getShopConfVar("varZoomSize"$sShopId null );
                 
        
$dbxparentid oxDb::getDb()->qstr('' $_POST['id'] . '');
        
        
$sSelect "SELECT oxartnum, oxvarselect FROM oxarticles WHERE oxparentid = " $dbxparentid " AND oxactive = '1' ORDER BY oxsort";
        
$rows  oxDb::getDb(true)->Execute($sSelect); 
Ein klein bißchen schneller isses geworden, aber an die Script Pure Variante kommts immer noch nicht hin. Der Farbwähler laggt so also noch ein bißchen. Gibts sonst noch irgendwas, was hier sein könnte, bzw. an welcher Schraube man noch drehen könnte, damit die Geschwindigkeit wirklich auf Full Speed ist. Oder ist OOP generell etwas langsamer?
__________________
Allerbeste Grüße und Dankeschön vom Chris

http://www.meinestruempfe.de
Oxid CE 4.7.11 / CAO <-> COI
Reply With Quote
#Top   #10  
Old 02-16-2012, 03:41 PM
aggrosoft's Avatar
aggrosoft aggrosoft is offline
Senior Member
Join Date: Oct 2008
Location: Sparta
Posts: 1,779
aggrosoft is on a distinguished road
Send a message via Skype™ to aggrosoft
Default Re: Performance Oxid Api

Ich denke eher nicht das es am OOP liegt sondern daran dass der ganze Shop erstmal gestartet werden muss - ein ORM Framework ist in den seltensten Fällen schneller als ein kleines Script dafür.
Reply With Quote
Reply

Bookmarks

Tags
api, performance

« Previous Thread | Next Thread »
Thread Tools
Display Modes

Nicht Sichtbar
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Performance Oxid 4.5 markus26 Allgemeines 15 02-08-2013 09:48 PM
Oxid performance lbokor General 4 08-21-2011 11:27 PM
Performance OXID 4.5 Neno General 1 05-17-2011 02:15 PM
Performance bei der Suche frabo Entwickler 7 03-17-2011 10:03 AM
Performance smonkey Allgemeines 24 11-09-2009 10:26 AM

All times are GMT +1. The time now is 11:05 AM.