Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

In cazul siteurilor care prezinta multa informatie in mod text, comprimarea continutului afisat poate reduce traficul cu pana la 30% folosind mod_deflate ceea ce e benefic atat pentru proprietarul siteului cat si pentru vizitatorii carora paginile li se vor incarca mai repede. De la bun inceput trebuie stiut ca singurul continut pentru care se recomanda comprimarea e textul – cod HTML, CSS, JavaScript etc. Pe imagini sau alt continut multimedia nu se recomanda comprimarea din doua motive. Primul ar fi inutilitatea, pentru ca o comprimare a imaginii rar salveaza mai mult de 3%, iar al doilea ar fi consumul de resurse – imaginile sunt mari si implicit e nevoie de mai mult RAM si mai mult timp in CPU pentru comprimare.

Pentru a folosi eficient mod_deflate avem nevoie de cinci directive:

  • DeflateCompressionLevel – pentru specificarea compresiei, 1 pentru minim si 9 pentru maxim;
  • DeflateBufferSize – pentru marimea blocului de continut care va fi comprimat – continutul se imparte in blocuri mici pentru a reduce consumul de memorie RAM;
  • DeflateMemLevel – nivelul de memorie folosit de zlib pentru compresie, intre 1 pentru minim si 9 pentru maxim;
  • DeflateWindowSize – marimea ferestrei de compresie, intre 1 si 15 – la o valoare mare rata de compresie poate creste semnificativ;
  • AddOutputFilterByType – pentru a activa compresia cu mod_deflate pentru un anumit tip de continut.

Folosindu-ne de mentiunile de mai sus, putem folosi urmatorul bloc de directive pentru a activa compresia:

<ifmodule deflate_module>
    DeflateCompressionLevel 1
    DeflateBufferSize 8096
    DeflateMemLevel 8
    DeflateWindowSize 8
 
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
</ifmodule>

Dupa cum e usor de inteles, blocul de mai sus va activa compresia pentru continutul declarat ca text/css, text/html, text/plain sau text/xml. Daca avem alt tip de continut care dorim sa il comprimam o pute face folosind directiva AddOutputFilterByType impreuna cu tipul continutului mentionat ca MIME-Type.

Apache

5 Responses so far.

  1. cosmin says:

    unde introduc cele de mai sus pentru a comprima textul de pe site
    multumesc mult pt ajutor

  2. Sergiu Tot says:

    Poti adauga in .htaccess sau httpd.conf.

  3. cosmin says:

    cum testez daca merge?

  4. Sergiu Tot says:

    Daca folosesti Firefox cel mai simplu ar fi sa instalezi addonul Live HTTP headers. Il deschizi, dai un refresh pe pagina si cauti in rezultat headerul „Content-encoding”. Daca e „gzip”, s-a activat.

  5. Adrian says:

    Salut. Eu am un site pe wordpress, iar in fisierul htaccess am urmatorul cod: „# BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    # O saptamana pentru imagini

    Header set Cache-Control „max-age=604800, public”

    # 3 ore pentru texte

    Header set Cache-Control „max-age=604800, public”

    # compress text, html, javascript, css, xml:
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

    # Or, compress certain file types by extension:

    SetOutputFilter DEFLATE

    Problema este ca atunci cand testez incarcarea siteului pe https://developers.google.com/speed/pagespeed/insights/ imi spune ca nu sunt comprimate fisierele css si js.