Scripts im RAM

Apache, Lighttpd, nginx, Cherokee
Post Reply
blackmole
Posts: 11
Joined: 2003-07-16 23:48
 

Scripts im RAM

Post by blackmole »

Hallo,

ich versuche gerade eine Website von der Geschwindigkeit her ein bisschen zu optimieren, dazu dachte ich mir wäre es ja vielleicht hilfreich, wenn große Dateien nicht jedes Mal von der Festplatte gelesen werden müssen. Also habe ich ramfs gemountet, alle PHP-Dateien aus einem Verzeichnis dort hineinkopiert und an der alten Stelle symbolische Links erstellt. Das klappt mitlerweile auch, jedoch läd die Seite nicht schneller als vorher, was mich ein bisschen wundert :roll: denn der RAM ist doch eigentlich deutlich schneller als die Festplatte... Hat jemand ne Idee, warum das nichts bringt?
Habe es an einer Include-Datei überprüft, die etwa 140kb groß ist, ne PHP-Klasse, die in jeder Seite included wird. Das Laden braucht sowohl von Festplatte als auch aus dem RAM etwa 0.033 Sekunden, was nach meiner Rechnung etwa 4 MB / sec macht. Für die Festplatte wäre es ja noch halbwegs akzeptabel, aber für RAM kann das doch eigentlich nicht sein :roll:

Wäre über Tipps froh, danke schonmal im Voraus!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: Scripts im RAM

Post by Roger Wilco »

Du hast bei deinen "Optimierungsversuchen" nicht bedacht, dass die Festplatte offensichtlich gar nicht der Flaschenhals ist...

Woran deine Skripte am längsten nagen, kannst du z. B. mit APD überprüfen, einem Profiler für PHP.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: Scripts im RAM

Post by Joe User »

Du hast vergessen, dass bei Deiner Variante nun die Symlinks von der Festplatte gelesen werden müssen und auch noch die Anzahl der Systemcalls steigt ;)

<mode werbung="on">
http://www.rootforum.org/forum/viewtopic.php?t=36343
http://www.rootforum.org/forum/viewtopic.php?t=36346
</mode>
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover
Contact:
 

Re: Scripts im RAM

Post by alexander newald »

Man sollte auch daran denken, dass die Ã?nderungen an den PHP Dateien auf dem ramfs weg sind, wenn mal der Server neu bootet.
blackmole
Posts: 11
Joined: 2003-07-16 23:48
 

Re: Scripts im RAM

Post by blackmole »

Danke erstmal für die Hinweise!

Leider habe ich beim installieren von APD folgende Fehlermeldungen, für die auch Google mir bislang keine Antwort liefern konnte...
/home/mole/apd-1.0.1/php_apd.c: In function `apd_get_active_function_name':
/home/mole/apd-1.0.1/php_apd.c:305: error: invalid operands to binary !=
/home/mole/apd-1.0.1/php_apd.c:306: error: invalid type argument of `unary *'
/home/mole/apd-1.0.1/php_apd.c:312: error: structure has no member named `scope'
/home/mole/apd-1.0.1/php_apd.c:313: error: structure has no member named `scope'
/home/mole/apd-1.0.1/php_apd.c: At top level:
/home/mole/apd-1.0.1/php_apd.c:470: error: `OnUpdateLong' undeclared here (not in a function)
/home/mole/apd-1.0.1/php_apd.c:470: error: initializer element is not constant
/home/mole/apd-1.0.1/php_apd.c:470: error: (near initialization for `ini_entries[1].on_modify')
/home/mole/apd-1.0.1/php_apd.c:470: error: initializer element is not constant
/home/mole/apd-1.0.1/php_apd.c:470: error: (near initialization for `ini_entries[1]')
/home/mole/apd-1.0.1/php_apd.c:471: error: initializer element is not constant
/home/mole/apd-1.0.1/php_apd.c:471: error: (near initialization for `ini_entries[2]')
make: *** [php_apd.lo] Fehler 1
Hat jemand von euch ne Idee, woran das liegen könnte bzw wie ich es lösen kann?

Offenbar macht das Lesen der Links recht wenig aus, so liegt die Zeit zum Laden einer 1,2kb großen Datei bei etwa 0.0008 bis 0.0016 sec, wohingegen die 140kb große Datei atm so um 0.04 sec liegt...

Danke auch für den Hinweis auf die confs, werds mal ausprobieren...
Post Reply