Schrift
[thread]6049[/thread]

Serverbelastung durch welche Sprache???



<< >> 6 Einträge, 1 Seite
ppm1
 2004-01-29 22:52
#79651 #79651
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
Hallo

Ich habe einen halben Server und lasse darauf zur Zeit einige Perl skripte laufen, doch die Belastung der CPU liegt durchschnittlich über 20 Sekunden hin weg bei teilweise mehr als 85%. (100 zugriffe gleichzeitig usw. Viele MYSQL-Datenbank Zugriffe).

Nun wollte ich fragen:

Was ist besser (oder weniger belastend) für den Server? Das gleiche Skript in:

-PHP
-SHTML (und dann event. Zugriff auf cgi-Skript)
-CGI/Perl
-SpeedyCGI
-mod_perl


Legen wir mal 2 Skripte zu grunde:

1. Es muss nur der Aktuelle Tag des Monats dynamsisch ausgegeben werden.
2. Es muss eine komplette Seite eines internen Postsystems mit einigen Berechnungen, Datenbank zugriffen usw. erzeugt werden.

Bitte sagen sie mir welche der obengenannten Dinge besser geeignet sind, also für 1. und dann noch für 2., dafür (am besten in einer Rangliste). Bei ziemlich vielen Zugriffen gleichzeitig.


Patrick Müller
esskar
 2004-01-29 23:58
#79652 #79652
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das kann man so nicht sagen...
das kommt auch auf die Programmierung an...

z.B. zu 1:
man muss ja an einem Tag die Berechnung ja nur einmal machen, das Ergebnis cachen und dann nur noch ausgeben!
Strat
 2004-01-30 00:08
#79653 #79653
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
php ist recht flott und belastet den server weniger als perl/CGI (vorausgesetzt, es laeuft als servermodul und nicht als cgi), ist dafuer einfach zu programmieren

shtml ist um einiges schneller als php, hat jedoch keinen so grossen funktionsumfang. es haengt jedoch davon ab, wie viele cgi-scripte du einbindest; wenn es mehr sind, verlierst du, weil es noch mehr aufwand ist, ein externes perl-script ueber SSI auszufuehren als es gleich mit cgi zu starten

speedyCGI kenne ich zu wenig, um es von der serverbelastung her einschaetzen zu koennen (ebenso FastCGI)

mod_perl ist gerade bei Datenbankanwendungen (mit CPAN:Apache::DBI am schnellsten und hat die niedrigste Serverbelastung, ist aber am kompliziertesten (weil man sich, wenn man nicht sorgfaeltig coded, leicht memoryleaks einhandelt). Da bei mod_perl die Scripte inkl. Module in compilierter Form im Speicher vorgehalten werden, braucht es ein bisschen mehr RAM als CGI.

1. 1. HTML mit Javascript, 2. SSI pur, 3. PHP, 4. Perl/CGI 5. mod_perl (waere ein absoluter overkill)
2. 1. mod_perl 2. php 3. cgi\n\n

<!--EDIT|Strat|1075414169-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
havi
 2004-01-30 07:47
#79654 #79654
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
*TitelKorrektur*

Gruss
ptk
 2004-02-02 12:56
#79655 #79655
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn du glaubst, dass MySQL der Flaschenhals ist, wird dir die geschickte Wahl der Programmiersprache nicht helfen, da alle Programmiersprachen auf die gleiche MySQL-API zugreifen.
Strat
 2004-02-02 13:14
#79656 #79656
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
stimmt grundsaetzlich, und eine optimierung der datenbank koennte ganz schoen was helfen (z.B. indices, geschickte tabellenaufteilung, optimierung der sql-abfragen, ...).
wenn es sich um sehr viele gleichzeitige zugriffe handelt, dann kostet jeder connect jedesmal unnoetig viel zeit. mit mod_perl und CPAN:Apache::DBI kann man da einiges an einsparungen bekommen (vorausgesetzt, man verbindet sich jedesmal mit demselben usernamen und passwort), weil Apache::DBI sich nicht fuer jeden connect in einem script neu verbinden muss, sondern normalerweise nur ein ping gemacht wird...\n\n

<!--EDIT|Strat|1075720480-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 6 Einträge, 1 Seite



View all threads created 2004-01-29 22:52.