Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3197[/thread]

logo ab in den arbeitsspeicher



<< >> 8 Einträge, 1 Seite
Froschpopo
 2006-03-05 22:30
#29972 #29972
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich will, wie bei mod_perl, mein Logo und einige Bilder die auf jeder Site auftauchen, in den RAm meines Server packen.
Da ich sehr viel mit dynamischen Inhalten arbeite, springt der browsercache der clients nur entsprechend selten ein.
Gibts da ne lösung?
cbxk1xg
 2006-03-05 22:43
#29973 #29973
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Ist der URL beim Logo immer gleich, oder ändert sich das z.B. durch eine Session?
Froschpopo
 2006-03-05 22:47
#29974 #29974
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
nein, das logo wird nicht durch software erzeugt sondern einfach nur eingelesen. Im grunde einfach ein gif welches in einem verzeichnis rum liegt. Es geht eigentlich viel mehr um die Theorie des Möglichen :)
ich hatte schon die bekloppte idee, das logo in hex auseinanderzunehmen, den hexcode in eine datei zu schreiben und diese hinterher wieder für die maschine lesbar zu machen. diese datei hätte ich dann in modperl einbinden können... aber man muss es ja auch nicht unnötig kompliziert machen :D\n\n

<!--EDIT|Froschpopo|1141591742-->
murphy
 2006-03-05 23:32
#29975 #29975
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Wenn das Logo immer gleich ist, dann kann man es doch einfach in eine Datei auf dem Webserver legen und auch in den dynamisch generierten HTML-Seiten stets mit der gleichen URL darauf verweisen. Dann sollte das Bild durchaus im clientseitigen Cache landen und von da aus auch wiederverwendet werden.
When C++ is your hammer, every problem looks like your thumb.
Froschpopo
 2006-03-05 23:41
#29976 #29976
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
nein, ich habe in meinem header die anweisung NICHT zu cachen.
stand ja auch oben schon ;)
GwenDragon
 2006-03-05 23:58
#29977 #29977
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Wieso darf das Logo nicht gecacht werden?
Dubu
 2006-03-06 00:19
#29978 #29978
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Welcher Header, der deiner Webseiten? Der hat nix für das Logo zu sagen. Wenn in den Webseiten für das Logo einfach ein Link der Art <img src="http://www.test.com/meinlogo.gif" ...> steht, dann liefert der Webserver das Bild mit einem eigenen Header und Default-Einstellungen darin aus. Wenn du dem Server also nicht explizit sagst, dass er gar nichts cachen soll, dann wird das Logo automatisch gecacht.
Oder wird das Logo jedes Mal von einem eigenen CGI-Prozess ausgeliefert, mit einem extra Header?
ptk
 2006-03-06 00:23
#29979 #29979
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das Cachen von Seiten scheint bei dir zur Obsession zu werden, oder? Hast du denn jemals geprüft, wie gut sich dein Betriebssystem verhält? Ich habe ja schön öfters gesagt, dass das Betriebssystem sehr gut cachen kann. Hier ein Beweis (mit FreeBSD 4.9, perl5.8.8):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use Time::HiRes qw(gettimeofday tv_interval);

my $bigfile = shift or die "Big file?";
sub openandreadbigfile {
open my $fh, "<:raw", $bigfile or die $!;
local $/;
my $xxx = <$fh>;
undef;
}

while () {
my $t0 = [gettimeofday];
openandreadbigfile();
my $elapsed = tv_interval($t0);
warn $elapsed, "\n";
}

Wenn ich eine sehr große Datei lade, z.B. die Sourcen von Mozilla (30MB), dann sieht es so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
perl5.8.8 /tmp/open.pl /usr/ports/distfiles/mozilla-1.7.12-source.tar.bz2
2.747017
0.438312
0.43884
0.44037
0.450289
0.448169
0.45606
0.434542
0.435767

Sprich: beim ersten Mal wird von der Platte gelesen, danach geht es recht schnell aus dem RAM.

Die Datei auf eine RAM-Disk zu packen, bringt nichts: es wird nicht schneller:
Code: (dl )
1
2
3
4
5
6
7
perl5.8.8 /tmp/open.pl /tmp/mozilla-1.7.12-source.tar.bz2
1.39426
0.447927
0.432142
0.459948
0.434598
0.438158

Natürlich: wenn sich die 30MB bereits in einem Perl-SV befinden würden, wäre man noch schneller. Wenn deine Dateien wesentlich kleiner sind, wirst du den Geschwindigkeitszuwachs aber nicht bemerken. Aber wenn du wirklich in einem Perl-Skalar cachen willst, dann könntest du es schon zur Startzeit des Apache machen.

Und hast du eigentlich meinen send_fd-Rat befolgt?
<< >> 8 Einträge, 1 Seite



View all threads created 2006-03-05 22:30.