Welcome, Guest. Please Login or Register.
November 24, 2024, 11:27:33 PM
Home Help Search Log in Register
News: SMF is the next generation in forum software, almost completely re-written from the ground up, make sure you don't fall for cheap imitations that suffer from feature bloat!

YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Gzip Compression « previous next »
Pages: 1 [2] 3 Reply Ignore Print
Author Topic: Gzip Compression  (Read 1068 times)
mediman
Support Team
YaBB God
*****
Posts: 2858


WWW
Re:Gzip Compression
« Reply #15 on: February 24, 2003, 04:59:25 PM »
Reply with quote

das ist in YaBB SE längst eingebaut!

Nur, momentan nutzt dein php gzip als outputbuffering methode, und für die haste den leven ja ned hochgesetzt!

du musst also den output handler auf zlib setzen, dann nutzt yabbse auch zlib!

übrigens ein level von 9 benötigt unmengen an prozessorpower, so dass es hier fast langsamer werden dürfte!

mediman
Logged

mainComm Dev Team
mediman
Support Team
YaBB God
*****
Posts: 2858


WWW
Re:Gzip Compression
« Reply #16 on: February 24, 2003, 05:03:50 PM »
Reply with quote

Quote from: Tarok on February 24, 2003, 04:15:25 PM
Vileicht habe ich mich auch ein bischen blöd ausgedrückt (zur sicherheit deshalb nochmal etwas anderst erklärt)....meinte mit dem allgemeingültig für den completen Webserver sprich den completen site ob so dan die compresion gilt oder nur für PHP-Programme und was damit zusamen hängt???

alles wird komprimiert! bilder, html files, alles! du musst an den programmen nix tun! nur die 3 zeilen in die php.ini setzen....

mediman
Logged

mainComm Dev Team
Surfy
Sr. Member
****
Posts: 458


I'm a llama!

Re:Gzip Compression
« Reply #17 on: February 24, 2003, 10:59:43 PM »
Reply with quote

Wenn ich

output_handler = zlib
zlib.output_compression = On
zlib.output_compression_level = 1


Setzte, kann ich keine PHP Pages mehr abrufen  :-[

auch phpinfo etc bekomme ich damit nicht zum laufen

Was gibt es da noch zu beachten? Habe natürlich es auch mit anderen Levels probiert.


Surfy
« Last Edit: February 24, 2003, 11:00:56 PM by Surfy » Logged
andrea
Global Moderator
YaBB God
*****
Posts: 4400


Peace on Earth

WWW
Re:Gzip Compression
« Reply #18 on: February 24, 2003, 11:07:13 PM »
Reply with quote

Hier die offizielle Dokumentation zu zlib:
http://www.php.net/manual/en/ref.zlib.php
Logged

Surfy
Sr. Member
****
Posts: 458


I'm a llama!

Re:Gzip Compression
« Reply #19 on: February 24, 2003, 11:12:07 PM »
Reply with quote

Name                                            Default    Changeable
zlib.output_compression                 "Off"     PHP_INI_ALL
zlib.output_compression_level        "-1"      PHP_INI_ALL
zlib.output_handler                           ""       PHP_INI_ALL

Daraus werde ich nicht ganz schlau, mein Englisch machts nicht ganz mit..

Ich hoffe das es jemand noch genauer erläutern kann.

heisst das nun, das ich folgendes eintragen kann?

zlib.output_compression                 "ALL"  

Surfy
Logged
Daniel D.
Mod Team
YaBB God
*****
Posts: 2935


Re:Gzip Compression
« Reply #20 on: February 24, 2003, 11:14:52 PM »
Reply with quote

http://www.php.net/manual/de/ref.zlib.php

Es geht nur On/Off, wie es da steht.
« Last Edit: February 24, 2003, 11:15:33 PM by Daniel D. » Logged

Tux
Noobie
*
Posts: 32


free for future

Re:Gzip Compression
« Reply #21 on: February 24, 2003, 11:16:46 PM »
Reply with quote

Quote from: Surfy on February 24, 2003, 10:59:43 PM
Wenn ich
output_handler = zlib
zlib.output_compression = On
zlib.output_compression_level = 1
Setzte, kann ich keine PHP Pages mehr abrufen  :-[
auch phpinfo etc bekomme ich damit nicht zum laufen
Was gibt es da noch zu beachten? Habe natürlich es auch mit anderen Levels probiert.
Surfy
Wenn du outputbuffering Aktivierst muß die zlib deaktiviert sein.
Beispiel
output_buffering = On
output_handler = ob_gzhandler
zlib.output_compression = Off
Unter Output_buffering kannst du auch einen festen Wert angeben. z.b
output_buffering = 4096
mfg Tux
Logged

LINUX - Für das Leben nach dem Absturz! ;D
Tux
Noobie
*
Posts: 32


free for future

Re:Gzip Compression
« Reply #22 on: February 24, 2003, 11:22:31 PM »
Reply with quote

Quote from: mediman on February 24, 2003, 05:03:50 PM
alles wird komprimiert! bilder, html files, alles! du musst an den programmen nix tun! nur die 3 zeilen in die php.ini setzen....
mediman
Da liegst du aber daneben. Die daten werden nur dann Komprimiert übergeben wenn der Browser dies auch unterstützt. Ansonsten legt PHP ein Kopie ohne Kompression an. Es sei denn das man Expliziet den Browser abfragt und die Daten zuvor dekomprimiert. Aber das ist bei Yabb nicht der Fall. Oder besser gesagt ich habe es bisher nirgends gesehen. Ergor verwaltet php bei Yabb den Buffer selbst.
« Last Edit: February 24, 2003, 11:26:03 PM by Tux » Logged

LINUX - Für das Leben nach dem Absturz! ;D
Surfy
Sr. Member
****
Posts: 458


I'm a llama!

Re:Gzip Compression
« Reply #23 on: February 25, 2003, 08:05:12 AM »
Reply with quote

Folgende 4 Configs sind also demnach möglich.. Womit erziele ich nun die beste Compression, welche Config reduziert den Traffic am besten?

Habt ihr mir einen Tipp, wie ich das messen könnte? Mit einem Trafficmesser, und dann die Index.php Aufrufen?

Gibt es noch andere Tipps zu beachten, oder andere Configs?

Config1
Output Buffering  4096
Output handler    ob_gzhandler
zlib_compr           off
zlib_compres_le   9


Config2
Output Buffering  Off
Output handler    
zlib_compr           On
zlib_compres_le   9

Config3
Output Buffering  
Output handler    Off
zlib_compr           Off
zlib_compres_le   9
YabbSE Compression

Config4
Output Buffering  
Output handler    Off
zlib_compr           Off
zlib_compres_le   9
ohne YabbSE Compression

Logged
Tux
Noobie
*
Posts: 32


free for future

Re:Gzip Compression
« Reply #24 on: February 25, 2003, 09:22:37 AM »
Reply with quote

Du hast mein vorheriges Posting anscheinend nicht richtig gelesen.
Die Zlib Compression kannst du dir Sparen weil sie dir nichts bringt. Das gleiche gilt auch für ein Komprimiertes Output Buffering. Warum? Weil im Yabb Board die Daten im Buffer nur zwischen gespeichert werden und dann an den Browser gesendet und dies nicht Komprimiert. Weil es keine Browser Abfrage in Yabb gibt ob der Browser dies auch unterstütz. Das Buffering was im Yabb Board verwendet wird dient nur dazu die Daten der DB erst vollständig zu Sammeln bevor sie auf die Reise geschickt werden – und nicht mehr. Es wird auch keine Abfrage  gestartet ob Daten Schon vorhanden sind.( Ich habe jedenfalls nirgends etwas gesehen)
Ein Beispiel einer Kompression füge ich dir einmal an wo bei ich hier aber die Browser Abfrage nicht drinne habe. Die gebe ich auch nicht her :) Das ist nämlich das Kernstück der Ganzen Geschichte. Erst nachzusehen welche Daten schon gesendet wurden und einen Check durchzuführen ob der Browser eine Komprimierte Datenübertragung überhaupt lesen kann. Aber du kannst schon sehen das in diesem Script eine Abfrage enthalten ist ob und welche Daten schon im Buffer sind. Das nämlich bei Yabb ebenfalls nicht der Fall. Wenn du ein Board mit einer Funktionierend Compression einmal sehen möchtest so empfehle ich dir Burning Book 2.1 Alpha von Wolt Lab. http://demo.woltlab.info/index.php
if ((get_cfg_var("output_buffering") == 1) && (get_cfg_var("output_handler") == 'ob_gzhandler')) {
// Hole und setze Caching Temp Pfad!
 $cachedir = "/tmp";
 $cacheid = md5($_SERVER["REQUEST_URI"].serialize($_GET));
 $cachefile = "$cachedir/cache_$cacheid";
// Erstelle gzip-Header!
 header("Content-Encoding: gzip");
// Falls Datei existiert oder schon gecached?
 if(file_exists($cachefile)) {
  // Sende einen neuen Header, um den Cache-Hit anzuzeigen!
  header('X-MyHeader: Cache-Hit');
   // Lese den Cache aus!
   readfile($cachefile);
 } else {
  ob_start();
 
  print "Meine Ausgabe:<br>";
  print_r ($_GET);
  print "<br>Zwischengespeichert um".time();
 }

// Nehme den Buffer und setzte ihn in eine Variable!
$cachedata = ob_get_contents();
// Lösche den Ouputbuffer ohne ihn Auszugeben!
ob_end_clean();
 // Komprimiere die Daten!
 // Berechne Länge
  $laenge = strlen($cachedata);
 // Integritätsprüfung 32 Bit
  $pruefe = crc32($cachedata);
 // Suche ZLIB und Komprimiere!
  $cachedata = gzcompress($cachedata, 9);
  $content  = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
  $content .=  substr($cachedata, 0, strlen($cachedata) - 4) . pack('V', $pruefe) . pack('V', $laenge);
 // Sende Meinen Header!
 header('X-MyHeader: Cache-Miss');
 echo $content;
 // Speichere meine Daten
  $fd = fopen($cachefile,"wb");
   fwrite($fd,$content);
    fclose($fd);
}

mfg Tux
Logged

LINUX - Für das Leben nach dem Absturz! ;D
Surfy
Sr. Member
****
Posts: 458


I'm a llama!

Re:Gzip Compression
« Reply #25 on: February 25, 2003, 11:03:16 AM »
Reply with quote



Das Yabb keine komprimerung können soll, kann man ja dadurch umgehen, dass alles via PHP schon komprimiert wird, was ja anscheined geht, die Frage ist blos wie..

Surfy
Logged
Tux
Noobie
*
Posts: 32


free for future

Re:Gzip Compression
« Reply #26 on: February 25, 2003, 11:15:04 AM »
Reply with quote

Deutsche Sprache schwere Sprache ich geb's auf ::)
Logged

LINUX - Für das Leben nach dem Absturz! ;D
Tarok
Jr. Member
**
Posts: 55


Der Graue Wanderer Tegujan's

ICQ - 101409942 WWW
Re:Gzip Compression
« Reply #27 on: February 25, 2003, 11:40:24 AM »
Reply with quote

Grüzi,

da hatt sich wohl was geändert (zumindest in der Winversion von PHP 4.3.1):

Quote from: Tux on February 24, 2003, 11:16:46 PM
Quote from: Surfy on February 24, 2003, 10:59:43 PM
Wenn ich
output_handler = zlib
zlib.output_compression = On
zlib.output_compression_level = 1
output_buffering = On
output_handler = ob_gzhandler
zlib.output_compression = Off

gibt dort unter anderem einen befehl der so lautet:

zlib.output_handler

wenn ich den so nutze gehts:


zlib.output_handler = zlib
zlib.output_compression = On
zlib.output_compression_level = 1


wenn ich ihn wie oben angegeben nutze also so:


output_handler = zlib
zlib.output_compression = On
zlib.output_compression_level = 1


bekome ich bei PHP 4.3.1 eine fehlermeldung beim start des APACHE 2 2.0.44 WIN32 gemeldet das diese Option nicht so funktionirt und das ich mall bitte im handbuch nachblättern soll (grob übersetzt mit verlinkung dahin) und der Apacheserver läst sich dan NICHT starten!!
Logged

MFG

Tarok
Surfy
Sr. Member
****
Posts: 458


I'm a llama!

Re:Gzip Compression
« Reply #28 on: February 25, 2003, 01:08:11 PM »
Reply with quote

@Tarok: Du kannst nur eins von beiden aktivieren, beides ist doppelt gemoppelt, im Eventlog wirst Du einen netsprechenden Eintrag finden...

@Tux: heisst das auf gut deutsch, das man keine möglichkeit hat, via Servereinstellungen den Ouput von YaBBSe zu komprimieren?

Was bewirkt den die Option "Output komprimieren" in den Modsettings von YabbSe?

Surfy





Surfy
Logged
Tarok
Jr. Member
**
Posts: 55


Der Graue Wanderer Tegujan's

ICQ - 101409942 WWW
Re:Gzip Compression
« Reply #29 on: February 25, 2003, 04:46:43 PM »
Reply with quote

Grüzi,

Quote from: Surfy on February 25, 2003, 01:08:11 PM
@Tarok: Du kannst nur eins von beiden aktivieren, beides ist doppelt gemoppelt, im Eventlog wirst Du einen netsprechenden Eintrag finden...

der gag an der sache ist doch das ICH NICHT VOLGENDEN EINZELEINTRAG ohne fehler machen kann:

output_handler = zlib

wohl aber volgenden eintrag machen kann:

zlib.output_handler = zlib

Beides zusamen habe ich eh noch nicht ausprobiert (währe ja auch sinloss wie du selbst geschrieben hast).

Logged

MFG

Tarok
Pages: 1 [2] 3 Reply Ignore Print 
YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Gzip Compression « previous - next »
 


Powered by MySQL Powered by PHP YaBB SE Community | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
SMF 2.1.4 © 2023, Simple Machines
Valid XHTML 1.0! Valid CSS

Page created in 0.075 seconds with 20 queries.