GZip Komprimierung aktivieren

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.173
1.078
Also ich bin ziemlich sicher, dass gzip auch bei den JTL Servern freigeschaltet ist.

Hast du es in deiner htaccess stehen und dort gzip eingetragen?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.714
1.615
Berlin
:)
Man muss immer das ganze sehen,
Es ist ja nicht so das nur das html gezippt wird, auch das css und das js wird mit jedem Aufruf neu minifiziert, bei 3000 usern am Tag braucht man da schon ne fette Hardware denke ich.

Aber 126k Markup ist auch ne Ansage, ist das wirklich soviel?
 

hula1499

Sehr aktives Mitglied
22. Juni 2011
5.173
1.078
Ha, da muss ich ganz entschieden widersprechen :D
Es gibt nur ein wichtiges Ziel -> Kunde muss das bestmöglichste Einkaufserlebnis bekommen.
Nur der Kunde zählt (nochdazu in Zeiten von >50% Bestellungen via Smartphones/Tablets, laut vielen offiziellen Statistiken (und eigener)) und perfomance ist schon recht lang ein sehr wichtiges Kriterium - das mit den >50% gilt natürlich nicht für alle Branchen, keine Frage.

Bei nur 3000 Usern: ein Hetzner MX121 hat da nichtmal einen Serverload von 0.3 (Bilder CDN) und 0.5 (Bilder über eigenen Server) - hier werden auch noch relativ viele Bilder zusätzlich via eBay ausgeliefert, sowie diverse angeschlossene Affili-Partner, Händler von uns.
Also ich bin relativ überzeugt, dass ein dedi für gradmal 30-50 Euro / Monat, die Aufgabe bis 5000 User locker erledigt.

Wenn ich mir so manche Seiten ansehe, die Ladezeiten von 5-12 Sek. hier in den Vorstellungsbereichen haben, nix kompromieren...das kann nix werden (für neue Seiten).

Jo, 126 bei uns und unsere Seite ist wirklich ein Leichtgewicht.

Da gibts ja jetzt diesen neuen, tollen Referenzshop von JTL: Gartencenter-Bartels (letzter NL):
Size, Markup (bytes) 189,616
Size, Compressed (bytes) 21,833
Compression % 88.5
 

Marktwert

Gut bekanntes Mitglied
18. Oktober 2016
151
14
vielleicht hat jemand doch eine Idee, woran es liegen kann, wenn gzip nicht funktioniert. Über die PHP-Info habe ich gesehen, das Gzip eingeschaltet ist, htaccess ist (fast) Standart JTL. Gibts da irgendeine Möglichkeit, den Fehler herauszufinden? Ich habe da schon zig Tage mit verbraten...
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.714
1.615
Berlin
@hula1499 ich muss mal nen AB Test in deine Richtung fahren :)
Gerade bei Hetzner hab ich das Gefühl das die nicht aus der Tasche kommen.

Aber nun lenken wir mal nicht vom gzip Problem ab.

@Marktwert hattest du Schon deine url hinterlegt, letztens war da einer, der wusste nicht mal seine url, seitdem traue ich keinem mehr :)
 

Marktwert

Gut bekanntes Mitglied
18. Oktober 2016
151
14

Marktwert

Gut bekanntes Mitglied
18. Oktober 2016
151
14
Anbei mal die . htaccess sowie die php.ini. bei der info.php steht bei Gzip enabled. Ich weiss echt nicht weiter.
php.ini:
PHP:
  engine = "1"
  zlib.output_compression = "0n"
  zlib.output_compression_level = "9"
  short_open_tag = "1"
  date.timezone = "Europe/Berlin"
  asp_tags = "1"
  precision = "14"
  y2k_compliance = ""
  output_buffering = "Off"
  output_handler = ""
  unserialize_callback_func = ""
  implicit_flush = ""
  allow_call_time_pass_reference = "1"
  safe_mode = ""
  safe_mode_gid = ""
  safe_mode_include_dir = ""
  safe_mode_exec_dir = ""
  safe_mode_allowed_env_vars = "PHP_"
  safe_mode_protected_env_vars = "LD_LIBRARY_PATH"
  disable_functions = ""
  highlight.string = "#CC0000"
  highlight.comment = "#FF9900"
  highlight.keyword = "#006600"
  highlight.bg = "#FFFFFF"
  highlight.default = "#0000CC"
  highlight.html = "#000000"
  expose_php = "1"
  zend_optimizer.optimization_level = "24"
  zend_optimizer.enable_loader = "1"
  zend_extension = "/usr/local/lib/php_modules/7-70STABLE/ioncube_loader_lin_7.0.so"
  extension = "/usr/local/lib/php_modules/7-70STABLE/imagick.so"
  max_execution_time = "180"
  memory_limit = "128M"
  error_reporting = "32759"
  display_errors = "1"
  display_startup_errors = ""
  log_errors = ""
  track_errors = ""
  variables_order = "EGPCS"
  register_globals = "1"
  register_argc_argv = "1"
  post_max_size = "8M"
  gpc_order = "GPC"
  magic_quotes_gpc = "1"
  magic_quotes_runtime = ""
  magic_quotes_sybase = ""
  auto_prepend_file = ""
  auto_append_file = ""
  default_mimetype = "text/html"
  include_path = ".:/usr/local/lib/php"
  doc_root = ""
  user_dir = ""
  extension_dir = "/usr/local/lib/php_modules/7-70STABLE"
  enable_dl = "1"
  file_uploads = "1"
  upload_max_filesize = "15M"
  allow_url_fopen = "1"
  allow_url_include = "0"

[mail function]
  SMTP = "localhost"
  sendmail_from = "me@localhost.com"

[SQL]
  sql.safe_mode = ""

[ODBC]
  odbc.allow_persistent = "1"
  odbc.check_persistent = "1"
  odbc.max_persistent = "-1"
  odbc.max_links = "-1"
  odbc.defaultlrl = "4096"
  odbc.defaultbinmode = "1"

[MySQL]
  mysql.allow_persistent = ""
  mysql.max_persistent = "-1"
  mysql.max_links = "-1"
  mysql.default_port = ""
  mysql.default_socket = ""
  mysql.default_host = ""
  mysql.default_user = ""
  mysql.default_password = ""

[PostgresSQL]
  pgsql.allow_persistent = "1"
  pgsql.auto_reset_persistent = ""
  pgsql.max_persistent = "-1"
  pgsql.max_links = "-1"

[bcmath]
  bcmath.scale = "0"

[Session]
  session.save_handler = "files"
  session.save_path = "/tmp"
  session.use_cookies = "1"
  session.name = "PHPSESSID"
  session.auto_start = ""
  session.cookie_lifetime = "0"
  session.cookie_path = "/"
  session.cookie_domain = ""
  session.serialize_handler = "php"
  session.gc_probability = "1"
  session.gc_maxlifetime = "1440"
  session.referer_check = ""
  session.entropy_length = "0"
  session.entropy_file = ""
  session.cache_limiter = "nocache"
  session.cache_expire = "180"
  session.use_trans_sid = "1"
  url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"



htacess:

<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    <FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
      SetEnvIf Origin ":" IS_CORS
      Header set Access-Control-Allow-Origin "*" env=IS_CORS
    </FilesMatch>

    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
  </IfModule>
</IfModule>

<IfModule mod_filter.c>
  <IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE \
      "application/atom+xml" \
      "application/javascript" \
      "application/json" \
      "application/ld+json" \
      "application/manifest+json" \
      "application/rdf+xml" \
      "application/rss+xml" \
      "application/schema+json" \
      "application/vnd.geo+json" \
      "application/vnd.ms-fontobject" \
      "application/x-font-ttf" \
      "application/x-javascript" \
      "application/x-web-app-manifest+json" \
      "application/xhtml+xml" \
      "application/xml" \
      "font/eot" \
      "font/opentype" \
      "image/bmp" \
      "image/svg+xml" \
      "image/vnd.microsoft.icon" \
      "image/x-icon" \
      "text/cache-manifest" \
      "text/css" \
      "text/html" \
      "text/javascript" \
      "text/plain" \
      "text/vcard" \
      "text/vnd.rim.location.xloc" \
      "text/vtt" \
      "text/x-component" \
      "text/x-cross-domain-policy" \
      "text/xml"
  </IfModule>
  <IfModule mod_mime.c>
    AddEncoding gzip svgz
  </IfModule>
</IfModule>

<IfModule mod_filter.c>
  <IfModule mod_deflate.c>
    <FilesMatch "\\.(js|css|html|htm|xml)$">
      SetOutputFilter DEFLATE
    </FilesMatch>
  </IfModule>
</IfModule>


<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType text/html "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType text/xml "access plus 3600 seconds"
</IfModule>


<IfModule mod_headers.c>
  Header unset ETag

  Header set X-UA-Compatible "IE=edge"
  Header set X-Content-Type-Options "nosniff"
  Header unset X-Powered-By

  <FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
    Header set Access-Control-Allow-Origin "*"
  </FilesMatch>

  <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on

  #REWRITE ANPASSUNG 1 (REWRITEBASE)
  #Wenn Ihr Shop in einem Unterverzeichnis (also z.B. meinedomain.de/meinverzeichnis) installiert ist, so kommentieren Sie die kommende Zeile aus und passen Sie den Verzeichnisnamen an
  RewriteBase /

  #REWRITE ANPASSUNG 2 (auf www.meinedomain.de umleiten)
  #Ihr Shop sollte nicht unter www.meinedomain.de und nur meinedomain.de erreichbar sein, siehe: http://guide.jtl-software.de/index.php?title=JTL-Shop3-Neuinstallation#4._Einrichtung_einer_Domainweiterleitung
  RewriteCond %{HTTP_HOST} ^kindique.de
  RewriteRule ^(.*)$ https://www.kindique.de/$1 [r=301,L]

  #Rewrite der JTL-Shop-URLs
  #Aendern Sie an diesen Zeilen nichts!
  RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$ includes/sitemap.php?datei=$1 [L]
  RewriteRule ^export/((sitemap_).*\.(xml|txt)(\.gz)?)$ $1 [L]
  RewriteRule ^asset/(.*)$ includes/libs/minify/?g=$1 [L]
  RewriteRule ^robots.txt$ robots.php [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^. index.php [L]
</IfModule>

FileETag None
#Server Signatur deaktivieren
#ServerSignature Off
 

_simone_

Sehr aktives Mitglied
17. Februar 2013
3.241
452
Emsland
Firma
Notun Delend
Dann werde ich mal ein Ticket schreiben. Wäre ja schön, wenn das bei JTL-Hosting auch geht.

Also lt. Support ist die gzip-Komprimierung aktiviert und funktioniert auch, wenn ich den Shop über "https" bei Gidnetwork aufrufe. Ein Aufruf über "http" bringt ein "no". :confused:
Normalerweise wird alles auf https umgeleitet, deshalb denke ich, dass das nicht relevant ist.

<ifModule mod_deflate.c>
<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE
</FilesMatch>
</ifModule>

<ifModule mod_headers.c>
Header unset ETag
FileETag None

<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.simonestollershop.de/$1 [r=301,L]
RewriteRule ^((urllist|sitemap_).*\.(xml|txt)(\.gz)?)$
includes/sitemap.php?datei=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^. index.php [L]
</IfModule>
 

tresor-online

Gut bekanntes Mitglied
15. Juni 2015
384
18
Hallo liebe htaccess Profis!

Ich habe gerade wieder mal in unsere htaccess gesehen und dabei folgende Einträge gefunden:

Code:
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript font/opentype font/truetype font/eot
</ifmodule>

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>

Nun meine Frage: machen der obere und der untere Teil nicht eigentlich das selbe, also könnte ich nicht zB den unteren Teil rausnehmen?
 

tresor-online

Gut bekanntes Mitglied
15. Juni 2015
384
18
Bonusfrage:
Wenn mod_deflate aktiv ist, kann ich dann mod_gzip nicht rausnehmen? Macht das nicht das gleiche?

also den Teil hier, der auch in der htaccess steht:
Code:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>