Prozessorauslastung von 1x1 Bild
Andavos
- php
Hallo,
also ich möchte einen Counterdienst programmieren. Der User bindet dafür einen 1x1 großes, weißes Bild ein.
Ich wollte euch mal fragen wie dort die Prozessorauslastung auf dem Server ist.
Also wenn das Bild z.B. (100 Leute, 200 Seitenaufrufe) 20 000 mal am Tag erstellt wird. Wird da der Server abkacken, oder ist dieses generieren nicht viel aufwendiger als normaler PHP Code??
Evt. hat jemand Erfahrung damit.
Es handelt sich dabei um einen neueren Server, also bitte nicht die Argumente das dort ein Intel II abkackt ;).
Es wird die GD Library benutzt.
MFG
Andavos
hi,
also ich möchte einen Counterdienst programmieren. Der User bindet dafür einen 1x1 großes, weißes Bild ein.
Ich wollte euch mal fragen wie dort die Prozessorauslastung auf dem Server ist.
Also wenn das Bild z.B. (100 Leute, 200 Seitenaufrufe) 20 000 mal am Tag erstellt wird. Wird da der Server abkacken, oder ist dieses generieren nicht viel aufwendiger als normaler PHP Code??
aus welchem grund willst du ein
1x1 großes, weißes Bild
ständig neu generieren?
wenn das bild sich nicht ändert, reicht es doch vollkommen aus, ein bereits auf platte vorhandenes bild auszulesen und auszugeben (Content-type header, gefolgt von den bilddaten per readfile()).
gruß,
wahsaga
Hallo,
das ist ne gute Idee, danke dir.
Daran habe ich nocht gar nicht gedacht ^^
MFG
Andavos
Huhu Andavos
Du kannst die Grafik auch kodiert im Skript speichern und dann direkt ausliefern.
Das hier wäre z.B. ein transparentes 1x1 Pixel.
$transgif = 'R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAUUAAIALAAAAAABAAEAAAICVAEAOw==';
header ('Content-type: image/gif');
echo base64_decode($transgif);
Viele Grüße
lulu
Hi!
Du kannst die Grafik auch kodiert im Skript speichern und dann direkt ausliefern.
Aber vermutlich soll das Script noch etwas mehr machen, z.B. erst einen Eintrag in eine Datenbank schreiben, bevor das Bild ausgeliefert wird.
Es geht ja hier um einen Counter...
Insofern wird die Lösung hier nicht reichen...
Gruß, rob
hi,
Aber vermutlich soll das Script noch etwas mehr machen, z.B. erst einen Eintrag in eine Datenbank schreiben, bevor das Bild ausgeliefert wird.
Es geht ja hier um einen Counter...
ach nee, echt?
gruß,
wahsaga
Hallo rob,
Aber vermutlich soll das Script noch etwas mehr machen, z.B. erst einen Eintrag in eine Datenbank schreiben, bevor das Bild ausgeliefert wird.
benötigt man tatsächlich eine Datenbank für den Counter? Geht doch auch mit CGI oder irre ich mich da?
Viele Grüße,
coolblue
Hallo rob,
Aber vermutlich soll das Script noch etwas mehr machen, z.B. erst einen Eintrag in eine Datenbank schreiben, bevor das Bild ausgeliefert wird.
benötigt man tatsächlich eine Datenbank für den Counter? Geht doch auch mit CGI oder irre ich mich da?
Was hat CGI mit einer DB zu tun?
Gruß
Reiner
Hallo,
jo also der speichert erst ein paar Daten in der Datenbank ab.
Ich möchte das halt jeder User den Counter recht einfach einbinden kann und dennoch ne gute Statistik bekommt.
Kein Bild auszugeben und es per JavaScript laden zu lassen würde 2 Probleme mitbringen:
-Leute ohne JavaScript werden nicht erfasst
-Die Bots führen i.d.R. keinen JavaScript aus, darum kann man nicht sehen wann der Bot zum letzen mal da war.
Der Script:
<?php
//speichern der Daten
$image = @imagecreate(1,1) OR die("ups");
$farbe_body=imagecolorallocate($image,255,255,255);
header("Content-Type: image/gif");
imagegif($image,"",100);
?>
MFG
Andavos
Hallo
also die Idee mit dem festen Bild ist genial.
<?php
//MySQL Speicherung der Daten
$transgif = 'R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAUUAAIALAAAAAABAAEAAAICVAEAOw==';
header ('Content-type: image/gif');
echo base64_decode($transgif);
?>
So wird dennoch ein 1x1 großes Pix ausgegen.
Kennt jemand eine Seite wo man evt. bereits vorhandene Bilder in den Base64 Code umwandeln kann, so das man die später ausgeben kann?
MFG
Andavos
Hallo, Andavos!
Kennt jemand eine Seite wo man evt. bereits vorhandene Bilder in den Base64 Code umwandeln kann, so das man die später ausgeben kann?
< http://php.holtsmark.no/base64img/>
freundl. Grüsse aus Berlin, Raik
Huhu Andavos
Kennt jemand eine Seite wo man evt. bereits vorhandene Bilder in den Base64 Code umwandeln kann, so das man die später ausgeben kann?
Ein simples Formular findest Du z.B. hier
http://simplecontent.net/snippets/phps/base64_image_1.php
Viele Grüße
lulu
你好 Andavos,
also ich möchte einen Counterdienst programmieren. Der User bindet dafür
einen 1x1 großes, weißes Bild ein.
Weis ist aber doof :) Was, wenn ich einen schwarzen Hintergrund habe?
Ich wollte euch mal fragen wie dort die Prozessorauslastung auf dem
Server ist.
Das Erstellen des Bildes duerfte quasi keinen Aufwand bedeuten, zumal du
das ja, wie von lulu vorgeschlagen, einfach fest speichern kannst.
Interessanter ist: wie speicherst du die Daten? Das duerfte uU viel teurer
werden. Staendige Schreibzugriffe auf eine Datenbank als Beispiel bremsen
diese ziemlich aus...
So kann man auf jedenfall nicht viel sagen. Du gibst zu wenig Informationen.
再见,
CK
Also wenn das Bild z.B. (100 Leute, 200 Seitenaufrufe) 20 000 mal am Tag erstellt wird. Wird da der Server abkacken, oder ist dieses generieren nicht viel aufwendiger als normaler PHP Code??
Wie niedlich, 20.000 Aufrufe ;-) Wenn Du einen Server haben willst, den das an einem Tag überfordert, nimm einen Taschenrechner aus den 70ern dafür!
Hallo,
falls die Daten per PHP _Script_ mit RSA verschlüsselt werden überforder er das den bestimmt.
Meiner und diverse Algorithmen aus dem Internet rufen bei mir eine Prozssorauslastung von 100% auf einem AMD 1,7 GHz, und dabei wird ein 5 Zeichen langer String ver/entschlüsselt.
Das dauert dann ca. 1,5 Sekunden an.
Tja 2048Byte Zahlen sind nichts schönes ;)
MFG
Andavos