php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.07.2009, 12:31  
Neuer Benutzer
 
Registriert seit: 08.07.2009
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
lemontree befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] PHP-Framework geschwindigkeit?

Aloha,

Ich hoffe ich bin im richtigen teil des Forums. Also Mein Problem ich möchte eine relativ umfangreiches Projekt realisieren,
Wobei unter umständen größere Zugriffszahlen aufkommen könnten. Davon abgesehen das man dafür gute Hardware braucht, geht es mir darum das es für mich sinnvoll erscheint ein PHP-Framework zu nutzen, Ich habe mir schon verschiedene Angesehen und auch kleine Beispiele damit erstellt.

Meine momentane Wahl würde im Moment auf "Codeigniter" fallen, bedingt dadurch das man wirklich wirklich schnell entwickeln kann

Im Moment bin ich mir aber unschlüssig wie es mit der Tauglichkeit solcher Frameworks unter last steht. Ich habe zwar verschiedene Tests dazu gesehen, aber ich bin mir nach wie vor unschlüssig.

Also welches Framework würdet Ihr empfehlen wenn es um Performance geht ?

so far...
Danke schonmal im Vorraus für eure Tips
lemontree ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.07.2009, 14:06  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

PHP-Frameworks im Test :: Adventure PHP Framework (APF)

Da solltest du eine Antwort finden können. Ich kann dir leider keinen Tip geben, habe bis jetzt eigentlich nur das APF kennen gelernt. Aber inzwischen will ich es nicht mehr missen
KarlEgon ist offline   Mit Zitat antworten
Alt 30.07.2009, 14:08  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich würde mir da keine Sorgen machen. Es gibt für fast jedes Framework Beispiel-Sites die damit gut laufen.
Bei Symfony ist es Yahoo-Bookmarks, bei CakePHP ist es die Addon-Seite von Firefox, beim Zend-Framework dürftest du auch einige große Seiten finden.

Außerdem bietet dir fast jedes Framework Caching an - damit kannst du immernoch einiges rauskitzeln. Ich glaube in etwa 99% aller Fälle macht es einfach keinen Sinn sich schon so früh Sorgen um die Performance zu machen.
Nimm das Framework, welches dir am meisten Spaß beim programmieren bringt.
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 30.07.2009, 15:12  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Würde ich wie agrajag sehen. Die Performance die das Framework selbst verschlingt sollte denke ich nicht ausschlaggebend sein. Viel wichtiger ist dass wenn du Probleme bekommst an anderen Stellen anpacken kannst. Aber das sollte mit den gängigen Frameworks kein Problem sein.
Flor1an ist offline   Mit Zitat antworten
Alt 30.07.2009, 15:19  
Neuer Benutzer
 
Registriert seit: 08.03.2009
Beiträge: 2
goeba befindet sich auf einem aufstrebenden Ast
Standard

Ich denke auch, dass das Bottleneck an anderer Stelle liegt. Glücklicherweise helfen dir die meisten Frameworks dabei diese Bottlenecks korrekt anzugehen.

Bei der Konzeption solltest du auf jeden Fall die Skalierbarkeit im Auge behalten:
  • Wie leicht kann ich mein DB-Backend auf einen Cluster umstellen?
  • Wie cache ich was am besten?
  • Wie implementiere ich Load-Balancer?

Am besten du machst dich mit den angesprochenen Konzepten vertraut, dann kannst du schon beim Coding darauf achten, dass du skalieren kannst.

Und ja, mein Text eignet sich hervorragend um eine Runde Bullshit-Bingo zu spielen... all diese Schlagworte...

Grüße
goeba ist offline   Mit Zitat antworten
Alt 30.07.2009, 21:48  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Lemontree,

Perfromance ist meiner Ansicht nach eine sehr wichtige Sache, die man in die Planung immer mit einkalkulieren sollte. Aus diesem Grund ist es umso wichtiger, auf ein Tool/Framework zu setzen, das per se schon die notwendige "Grund-Performance" mitbringt und daneben noch Tools zur Performance-Optimierung bietet. Wenn es um Fine-Tuning geht, so sollte das eingesetzte Hilfsmittel auch die nötige Flexibilität für schnelle Optimierungen bieten - z.B. das View Based Caching.

Nicht zu vergessen ist jedoch, dass Performance vor allem eine Frage des Software-Designs ist. Du kannst einen noch so schnellen Datenbank- oder Webserver aufsetzen, wenn die Software - z.B. wegen eines ungünstigen Tabellen-Designs - zu langsam ist, wird Caching auch nur bis zu einem bestimmten Punkt cachieren können. Aus diesem Grund ist es IMHO sehr wichtig, das Thema Performance in seine Überlegungen zum Software-Design mit einfließen lassen. Dafür sollten zunächst die Use-Cases erörtert werden, denn aus diesem ergibt sich zumeist direkt die Gestaltung der Views und in den Views werden zumeist Daten benötigt. Da kann es aus Sicht der Performance nötig sein, eine redundante Assoziation in seine Datenhaltung zu integrieren um alle Views gleichmäßig schnell mit Daten versorgen zu können. Wenn du möchtest, können wir diese Maßnahmen an einem Beispiel aus deinem Alltag diskutieren.

Das APF im speziellen kann dich hierbei mit einem integrierten Benchmark-Report und Caching-Hilfsmittel (z.B. ein Backend für memcached) unterstützen. Es verfügt zudem über eine gute "Grund-Performance", wie du auf Yii vs. APF :: Adventure PHP Framework (APF) einsehen kannst.

Viele Grüße,
Dr.E.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 30.07.2009, 22:55  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen
Perfromance ist meiner Ansicht nach eine sehr wichtige Sache, die man in die Planung immer mit einkalkulieren sollte.
Natürlich ist es eine wichtige Sache und man sollte sie im Hinterkopf behalten wenn man etwas plant. Aber ich finde es besteht kein Grund sich da (unnötig) zu verkopfen. Es sei denn du bist Google und bist dir sicher, dass deine Applikation ab Tag 1 auf Hochtouren läuft.

Ich glaube nicht, dass irgendeines der gängigen Frameworks ein richtiges Performance-Problem hat. Und wenn bzw. falls der Zeitpunkt kommt an dem die Last einfach zu groß wird: Glückwunsch!

Ich versuch's da ganz nach "Getting real" zu halten:
Getting Real: Scale Later (by 37signals)
Getting Real: It's a Problem When It's a Problem (by 37signals)
Premature optimization is the root of all evil
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 30.07.2009, 22:58  
Neuer Benutzer
 
Registriert seit: 08.07.2009
Beiträge: 9
PHP-Kenntnisse:
Fortgeschritten
lemontree befindet sich auf einem aufstrebenden Ast
Standard

nabend!

erstmal danke für die Antworten, also aus euren Antworten sehe ich es ist wohl bis auf ein paar ausnahmen relativ "egal" welches Framework man nutzt ?

@dr.e
Also wie soll ich das verstehen ich überlege gerade... Ist prinzipiell Redundanz nicht zu vermeiden ?

Entschuldige wenn die frage sehr blöd ist, liegt vlt an der Uhrzeit oder an der relativ geringen Erfahrung meiner seits.

@agrajag
Klar hast du Prinzipiell recht, aber ich hab auch keine 10 Server ich habe mir einen Server gemietet mit nicht unendlich Resourcen darum dachte ich vielleicht kann man da über die Frameworkwahl, sowie über das Software Design noch was rausholen.

Das war so der ansporn der Frage. Vielleicht war meine Frage auch naiv weil ich eben mit größeren "Projekten" keine richtigen Erfahrungswerte habe und deswegen nicht weiß wie sich eine php-webapp verhält bei größeren gleichzeitigen zugriffen, bis jetzt habe ich nur kleinere Private Anwendungen bzw webapps, erstellt.

Geändert von lemontree (30.07.2009 um 23:08 Uhr).
lemontree ist offline   Mit Zitat antworten
Alt 30.07.2009, 23:16  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von lemontree Beitrag anzeigen
@dr.e
Also wie soll ich das verstehen ich überlege gerade... Ist prinzipiell Redundanz nicht zu vermeiden?
Das kommt drauf an. Im Grunde solltest du erstmal dein Datenbankdesign so auslegen dass du möglichst keine Redundanzen hast. Solltest du im laufenden Betrieb merken dass die Performance nachlässt solltest du anfangen zu optimieren. Da reicht teilweise einfaches Caching aus. Sollte aber eine bestimmte Tabelle das Performanceleck werden und die Cachingmethoden reichen nicht mehr aus ... dann kannst du über redundante Datenhaltung oder das Auslagern von Teilen der Datensätze nachdenken.

Aber bevor die Anwendung online ist und die Besucher die Performance drücken solltest du erstmal nach folgendem Vorsatz vorgehen:

“Premature optimization is the root of all evil (or at least most of it) in
programming.” [Donald Knuth]
Flor1an ist offline   Mit Zitat antworten
Alt 31.07.2009, 01:18  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Das kommt drauf an. Im Grunde solltest du erstmal dein Datenbankdesign so auslegen dass du möglichst keine Redundanzen hast. Solltest du im laufenden Betrieb merken dass die Performance nachlässt solltest du anfangen zu optimieren. Da reicht teilweise einfaches Caching aus. Sollte aber eine bestimmte Tabelle das Performanceleck werden und die Cachingmethoden reichen nicht mehr aus ... dann kannst du über redundante Datenhaltung oder das Auslagern von Teilen der Datensätze nachdenken.

Aber bevor die Anwendung online ist und die Besucher die Performance drücken solltest du erstmal nach folgendem Vorsatz vorgehen:

“Premature optimization is the root of all evil (or at least most of it) in
programming.” [Donald Knuth]
nun, joining ist immer ein performance faktor. den kann man zwar durch gute indexierung minimieren, aber weg ist bei der wartung nie und muss deswegen auch immer neu getestet und optimiert werden.

daneben gibt es alternativen die auf kosten der redundanten datenspeicherung eine hohe lese/schreib rate erreichen wollen. ein beispiel ist das sternschema, das genau darauf optimiert ist.

festzuhalten ist, das datenbankdesign eben anwendungsspezifisch ist. nicht umsonst entwickelte google das google file system
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Release 1.10-RC2 des Adventure PHP Framework (APF) veröffentlicht dr.e. Beitragsarchiv 2 21.07.2009 11:22
Release 1.10-RC1 des Adventure PHP Framework (APF) veröffentlicht dr.e. Beitragsarchiv 5 19.07.2009 21:03
[Erledigt] Objektorientierung und Frameworks - was bringts wirklich? Curcio PHP-Fortgeschrittene 58 04.06.2009 20:31
Pylons Python Web Framework Programmierer gesucht! zmb Beitragsarchiv 0 12.05.2009 10:52
Release 1.9 (RC1) des Adventure PHP Framework verfügbar! dr.e. Beitragsarchiv 1 25.03.2009 00:16
CMS mit Framework KeKs0r PHP-Fortgeschrittene 11 27.12.2008 23:03
Zend Studio for Eclipse und Zend Framework KeKs0r PHP-Fortgeschrittene 5 15.12.2008 15:10
Release 1.8 (RC1) des Adventure PHP Framework verfügbar! dr.e. Beitragsarchiv 4 11.12.2008 09:44
Bestehende Seite in Framework einbinden MaWe4585 PHP-Fortgeschrittene 1 16.10.2008 08:20
BrickOO :: PHP Framework Hroudtwolf Scriptbörse 14 06.05.2008 12:04
Zend Framework Melchior PHP-Fortgeschrittene 29 13.03.2008 21:12
Framework aus Haupt und Unterverzeichnis nutzen? Anotherone PHP-Fortgeschrittene 8 24.07.2007 15:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zend framework geschwindigkeit, php framework sinnvoll, php framework vergleich 2009, php framework geschwindigkeit, php framework vergleich, php framework performance, http://www.php.de/software-design/57621-erledigt-php-framework-geschwindigkeit.html, php framework, geschwindkeitsvergleich php framework, php frameworks sinnvoll?, php frameworks vergleich geschwindigkeit, premature optimization is the root of all evil, geschwindigkeit php frameworks, frameworf geschwindigkeit, adventure php framework bullshit, performance von php frameworks, php anwendung framework sinnvoll?, sinvolle php frameworks, zend framework sinnvoll, php framework sinvoll

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum