| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hast du die Möglichkeit mal mittels Xdebug oder einem anderen Debugger (notfalls auch in einer lokalen Testumgebung) deinen Code mal zu testen, mit aktiviertem Profiler, danach kannst du mit WincacheGrind (Windows) / KCacheGrind (Linux), die erstellten Profiles auswerten. Ausserdem solltest du mal schauen wie die CPU-Last während dem ganzen ist, wenn es eine Dual-Core oder Quadcore-CPU ist oder auch ein System mit mehreren CPUs, hast du das Problem, dass 1 PHP-Prozess maximal einen Core nutzen kann, daher solltest du schauen, dass du mehrere Instanzen parallel laufen lässt um die Performance auch auszunutzen. Falls du das ganze noch über den Browser ( mod_php ) laufen hast, solltest du schauen das script direkt via shell über den php-(cgi)-interpreter zu starten. Sollte Zend_Lucene irgendwo im Dateisystem einen Cache oder ähnliches nutzen, wäre es eventuell noch möglich ein bißchen RAM für ein RAM-Drive zu reservieren und diese temp-files dort auszulagern. Man muss auch sagen, dass laut deiner Rechnung das ganze ja "nur" ~ 3 1/2 Minuten dauert, das empfinde ich jetzt nicht unbedingt als sonderlich lange. Was ist übrigends gemeint dass du 1GB vom RAM für php hast ? Ist das die Einstellung für max_memory ? Darf APC (oder ein anderer Bytecode-Cache ) so viel RAM nutzen ? Memcache für Daten ? ... ? Mehr fällt mir jetzt ohne etwas mehr über das wie und das aussenrum zu erfahren nicht mehr mehr ein. btw gibt es auch ein deutsches Zend Framework Forum: Zend Framework Forum - Powered by vBulletin
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | ||||
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Was einen allgemeinen Geschwindigkeitsvorteil für alle PHP-Scripte bringt, ist der Einsatz eines BytecodeCaches wie APC, eAccelerator, PHP-Accelerator oder Zend Optimizer, denen weißt man eine feste Menge RAM zu um darin den Bytecode der Scripte zu cachen und wahlweise können dort auch Variablen von php-scripten gespeichert werden (prozess und script übergreifend). Zitat:
Ich hab gerade mal noch das Zend Manual zu Zend_Lucene überflogen, da dieser Index ja komplett auf der Festplatte gespeichert wird, hat die Festplatte auch einen großen Einfluss auf die Performance. Hier kann man verschiedenes machen, z.b. den Index auf einer extra Festplatte auslagern, die weniger ausgelastet ist oder eben, die wohl schnellste Lösung, ihn auf ein RAM-Drive auslagern. Das ganze ist aber auch abhängig von der Größe des Index. Desweiteren bei einem Server-Ausfall bzw. Reboot ist der Index dann futsch und muss neu erstellt werden, ausser man erstellt nach jedem überarbeiten des Index ein Backup vom RAM-Drive auf die Festplatte und bastelt sich ein Script das beim Booten nach dem erstellen des RAM-Drives, das Backup auf das RAM-Drive kopiert. Zitat:
Ein paar weitere Fragen und Anhaltspunkte vielleicht noch: Ist denn die CPU während dem Indizieren durch den Prozess voll ausgelastet ? Wenn nicht wäre das eben ein eventuelles Indiz dafür, dass das Bottleneck zumindest nicht die CPU ist.
__________________ robo47.net - Blog, Codeschnipsel und mehr | | |||
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Soweit ich mir den Code von Zend_Search_Lucene angeschaut habe, passiert ja auch die ganze Analyse in der methode addDocument(). Du kannst ja mal nen profiler-dump von so nem ablauf uppen, dann schau ich es mir den mal an.
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Geschwindigkeit analysieren | snatch-ic | PHP Tipps 2008 | 3 | 30.05.2008 03:49 |
| Mysql Geschwindigkeit | J_Jara | Datenbanken | 20 | 18.04.2008 09:00 |
| Geschwindigkeit von Sockets | Sascha Bahl | PHP-Fortgeschrittene | 17 | 05.03.2007 21:39 |
| Geschwindigkeit: Array vs. MySQL | Jacks Rache | PHP Tipps 2006 | 4 | 13.03.2006 20:45 |
| Geschwindigkeit bei Verwenden von require/include | PHP-Fortgeschrittene | 11 | 09.03.2006 17:08 | |
| geschwindigkeit und strecke | Off-Topic Diskussionen | 14 | 17.06.2005 23:22 | |
| MySQL - Geschwindigkeit | faux | PHP-Fortgeschrittene | 17 | 28.05.2005 16:04 |
| [Erledigt] XSLT -> Geschwindigkeit | PHP-Fortgeschrittene | 4 | 10.02.2005 09:51 | |
| [Erledigt] Geschwindigkeit einer Webseite | PHP Tipps 2004 | 22 | 01.08.2004 20:42 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| zend lucene, zend lucene performance, zend search lucene, lucene zend, php lucene performance, lucene performance, php lucene index zend, php zend lucene, lucene php, zend search lucene performance, zend lucene suggest, warum ist lucene so schnell, zend lucene cache, zend_lucene, zend lucene slow, zend_search_lucene performance, zend lucene search, zend geschwindigkeit, lucene langsam, lucene geschwindigkeit |