anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 14:57

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 22:11 
Offline
Newbie

Registriert: Mo 07 Dez, 2009 23:15
Beiträge: 5
Wohnort: Wendland
Guten Tag alle,

bin noch ziemlich neu hier im Forum aber ich denke wenn mir jemand helfen kann dann ist es hier jemand.

Erstmal zur Sachlage,

ich schreibe momentan eine kleine/große Mod die es möglicht macht eine Bibliothek über mehrere Server laufen zu lassen. Dabei wird auf den von mir geschriebenen "Server" zugegriffen und bestimmte Daten abgefragt die dann ausgegeben werden, quasi ich habe nur eine Datenbank mit den noch kommenden Büchern ausgelagert in eine extra Datenbank wo mehrere LoGD Welten drauf zu greifen können.

Das es funktioniert ist nicht das Problem, da es alles schon fast im endstadium ist und auch relativ gut Funktionert.

Jetzt zu meinem Problem,

Als ich das Script lokal getestet hatte ich diese Werte:
Seitengenerierung: 0.63s, Schnitt: 0.24s

nun dachte ich, joar ist schon ganz schön langsamm aber funktioniert ja noch ganz gut. Dann habe ich es aber auf meinen Webserver hochgeladen und es dort getestet und musste gravierendes feststellen:
Seitengenerierung: 2.21s, Schnitt: 0.09s;

Es ist natürlich auch sehr deutlich sichtbar das die Seite "sehr lange" zum laden braucht.

Ich würde nun gerne Wissen wo dranne es liegen könnte das es so extrem verlangsammt wird. Am anfang dachte ich das es an meiner Schlamperei mit den output befehl lag, doch als ich die ca. 20 Befehle durch einen ersetzt habe habe ich kaum Unterschied gemerkt.

Ich würde mich sehr freuen wenn mir jemand helfen kann, oder auch nur ein paar Punkte nenen könnte die PHP Scripte so dermaßen verlangsammen. Ich bin fast vor der fertigstellung und kann es kaum abwarten endlich damit fertig zu werden.

Wenn ihr den Code benötigt schreibt es bitte dann werde ich ihn Nachträglich noch Posten, aber eigentlich hatte ich vor ihn bis zur veröffentlichung geschlossen zu halten.

mfg Anfmor


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 22:20 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
Naja. Da die Daten von einem anderen Server geholt werden, liegt es wohl an der Internetverbindung, die bei dir Zuhause schneller sein kann als die von dem Testserver. Ob man jetzt mehrere Sekunden mit ner Scriptoptimierung rausholen kann, weiß ich nicht, müsste man auch erst das Script durchsehen. Musst Du dann wissen ob Du es jetzt schon soweit veröffentlichen willst ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 22:28 
Offline
Newbie

Registriert: Mo 07 Dez, 2009 23:15
Beiträge: 5
Wohnort: Wendland
wow das war eine schnelle Antwort gar nicht damit gerechnet...

Nunja das Script für den Server liegt nun ja auch Lokal auf den gleichen Server wie mein LoGD. Eigentlich müsste es dann doch auch schnell gehen oder?

Ich werde hier nun einmal mein Script Posten, zumindest die Datei die so langsam ist.
Dateianhang:
anfmor_library.zip


Im Script geht es Hauptsächlich um die Methode pokeBooks, der Rest läuft eigentlich recht schnell. Ich hoffe es ist gut Leserlich ist mein erstes Script was ich öffentlich zeige. :roll:


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 22:37 
Offline
Profi
Profi

Registriert: Mo 30 Okt, 2006 21:29
Beiträge: 195
Wenn Du am selben Server abfrägst, sollte es Theoretisch schneller gehen. Weiß nicht ob es vielleicht einen Geschwindigkeitsunterschied macht, wenn Du es über localhost oder die Serveradresse machst.

Da ich OOP nicht kapiere, sag ich mal nix dazu ^^ Was ich dir aber nahe legen würde ist, arrayschlüssel immer in einfach Anfürungszeichen zu schreiben (also $session['user']... nicht $session[user]). In Strings musst Du die arrays "ausklammern", am besten so
...string ".$arr['key']." string....

und zur besseren Dastellung auch normale Variablen so behandeln. Das erspart PHP schon mal die Fehlerkorrektur und ev damit eine winzige Performance verbesserung.

Am besten die Scripte immer so schreiben, dass sie bei nicht unterdrückten NOTICE trotzdem laufen ;)



edit


Ach ja. Wenn du keine Farbcodes oder `n etc in output() verwendest, nimm lieber rawoutput(), da so der Text ohne Behandlung (farben suchen, ersetzen) übernommen und somit schneller bearbeitet werden kann.


Zuletzt geändert von Welv am Mi 09 Dez, 2009 22:44, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 22:39 
Offline
Newbie

Registriert: Mo 07 Dez, 2009 23:15
Beiträge: 5
Wohnort: Wendland
ah danke für deinen Rat, war wohl ein wenig Faulheit von mir...

werde dann gleich mal das alles Umschreiben und hoffen das ich wenigstens eine Millisekunde rausbekomme ;P

Zitat:
Ach ja. Wenn du keine Farbcodes oder `n etc in output() verwendest, nimm lieber rawoutput(), da so der Text ohne Behandlung (farben suchen, ersetzen) übernommen und somit schneller bearbeitet werden kann.


Ah danke das wusste ich noch nicht, gibt es eigentlich irgendwo eine Dokumentation von der common? Ich denke ich weiß so einiges nicht was da drinne steht... muss man sich dafür erst die gesamte Datei durchlesen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 23:22 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Anfmor hat geschrieben:
gibt es eigentlich irgendwo eine Dokumentation von der common?

Nein.

Anfmor hat geschrieben:
Ich denke ich weiß so einiges nicht was da drinne steht... muss man sich dafür erst die gesamte Datei durchlesen?

Ja.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 23:42 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Was mir dazu gerade einfällt: Wieso arbeitest du eigentlich nicht mit einer SOAP-Schnittstelle?
Würde das Verteilen und Anpassen auf andere(n) Servern deutlich einfacher machen.

Ohne mich gross einzulesen könnt' ich jetzt auch nicht viel sagen, nur scheinst du sehr viel mit file zu arbeiten. Das Lesen von Dateien braucht u.U. auf einem Server relativ lange.

Hast du das ganze Script bereits etwas durchanalysiert und unterschiedliche Zeiten genommen? (Wo es in Etwa wie lange dauert)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Mi 09 Dez, 2009 23:51 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Ich persönlich würde ja, vor allem bei sowas statischem wie Büchern, einen lokalen Cache einrichten, die Bücher maximal 1x pro Tag updaten (nein, nicht alle Bücher vom Server ziehen, sondern nur die Änderungen) - und dann geht das ziemlich schnell. Änderungen sind dann zwar verzögert, aber das ist ja nicht weiter schlimm.

@Harthas: Vermutlich einfach, weil er das nicht kennt. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Do 10 Dez, 2009 00:00 
Offline
Newbie

Registriert: Mo 07 Dez, 2009 23:15
Beiträge: 5
Wohnort: Wendland
Harthas hat geschrieben:
Was mir dazu gerade einfällt: Wieso arbeitest du eigentlich nicht mit einer SOAP-Schnittstelle?
Würde das Verteilen und Anpassen auf andere(n) Servern deutlich einfacher machen.

Ohne mich gross einzulesen könnt' ich jetzt auch nicht viel sagen, nur scheinst du sehr viel mit file zu arbeiten. Das Lesen von Dateien braucht u.U. auf einem Server relativ lange.

Hast du das ganze Script bereits etwas durchanalysiert und unterschiedliche Zeiten genommen? (Wo es in Etwa wie lange dauert)


Also zum einen SOAP keine Ahnung höre ich jetzt grade zum ersten mal... sollte ich mir vielleicht mal anlesen, aber da ich denke das ich das Scirpt schon sogut wie fertig habe lass ichs lieber so wie es jetzt ist.

Dann mit den Zeiten, das ist immer ne gute Frage ich habe als Test einmal die file funktionen Auskommentiert und habe gemerkt das die zum Teil gar nicht die größte Zeit ausmachen. Deswegen bin ich ja auf der suche nach den Ursachen dafür.

Eliwood hat geschrieben:
Ich persönlich würde ja, vor allem bei sowas statischem wie Büchern, einen lokalen Cache einrichten, die Bücher maximal 1x pro Tag updaten (nein, nicht alle Bücher vom Server ziehen, sondern nur die Änderungen) - und dann geht das ziemlich schnell. Änderungen sind dann zwar verzögert, aber das ist ja nicht weiter schlimm.


Nein da habe ich mich dagegen entschlossen. Erst einmal möchte ich es ohne verzögerungen haben und dann habe ich noch ein Bewertungssystem und ein Kommentar System für die Bücher drinne und ich denke das die viel aufwendiger sein werden als die Bücher. (Bücher werden nur abgefragt wenn sie auch angeschaut werden ca. 6 abfragen Kommentare pro Seite max. 20 abfragen) da lass ich es lieber so wie es ist.

Also sooo sehr langsam ist es ja auch nicht es ist zwar merkbar aber immer noch gut anschaubar.

edit: Zum Thema mit den SOAP, so wie es aussieht müsste dafür ja auch noch ne erweiterung aktiviert werden in der php.ini. Stimmt das?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Do 10 Dez, 2009 00:26 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Unter Umständen müsste die Erweiterung noch aktiviert werden, wenn sie es noch nicht ist, ja.
Mir persönlich gefällt SOAP für eben solche Projekte eig. immer recht gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Do 10 Dez, 2009 17:00 
Offline
Freak
Freak

Registriert: So 30 Okt, 2005 17:48
Beiträge: 1408
Wohnort: PB
Geschlecht: Männlich
LoGD: http://dav.blood-reaver.de/lotgd/
Na ja, die Wahl der Schnittstelle ist sicherlich nicht die geschickteste - ich vermute auch, dass die file-Aufrufe die längste Zeit benötigen. Die Auslieferung dürfte auch den Zeitunterschied zwischen lokalem Server und webspace ausmachen.
Wo die eigentlichen Flaschenhälse liegen, kannst du aber mit der funktion microtime() recht einfach heraus finden. Einfach vor und nach den Kandidaten die Zeit nehmen und subtrahieren. Damit kannst du ablesen, wie lange welche Operation benötigt.

Und noch eine Anmerkung zu den in letzter Zeit häufig aufgetauchten Ratschlägen zur Scriptoptimierung à la "weniger output-Aufrufe", "Singlequtes statt Doublequotes" usw: Es mag ja gut gemeint sein, aber der Nutzen solcher Optimierungen ist meist minimal. Insbesondere letztes Beispiel mag zwar in Benchmarks 13% Besserung verheißen, aber eben nur 13% der Zeit, die für das verarbeiten der String-Literale drauf geht (Ein Prinzip, das auch als Amdahl's Law betrachtet werden kann...)

Auric

_________________
Mehr oder minder inaktiv


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Script sehr langsam
BeitragVerfasst: Do 10 Dez, 2009 21:38 
Offline
Newbie

Registriert: Mo 07 Dez, 2009 23:15
Beiträge: 5
Wohnort: Wendland
wow xD Danke für die viele Kritik. Ich werde sie mir zu Herzen nehmen und mich bemühen es noch ein wenig umzuschrieben. Auch werde ich versuche die file Funktionen herauszunehmen und mit SOAP zu arbeiten.

@Auric: Das ist ne super Idee werde ich sobald ich Zeit habe gleich einmal machen und nachschauen was momentan die größte Verzögerung auslöst.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum