मैंने इसे दो फाइलों के साथ nginx 1.3.9 के तहत परीक्षण किया, और ये विभिन्न स्तरों के लिए मुझे मिले परिणाम थे:
text/html
- phpinfo ():
0 55.38 KiB (100.00% of original size)
1 11.22 KiB ( 20.26% of original size)
2 10.89 KiB ( 19.66% of original size)
3 10.60 KiB ( 19.14% of original size)
4 10.17 KiB ( 18.36% of original size)
5 9.79 KiB ( 17.68% of original size)
6 9.62 KiB ( 17.37% of original size)
7 9.50 KiB ( 17.15% of original size)
8 9.45 KiB ( 17.06% of original size)
9 9.44 KiB ( 17.05% of original size)
application/x-javascript
- jQuery 1.8.3 (असम्पीडित):
0 261.46 KiB (100.00% of original size)
1 95.01 KiB ( 36.34% of original size)
2 90.60 KiB ( 34.65% of original size)
3 87.16 KiB ( 33.36% of original size)
4 81.89 KiB ( 31.32% of original size)
5 79.33 KiB ( 30.34% of original size)
6 78.04 KiB ( 29.85% of original size)
7 77.85 KiB ( 29.78% of original size)
8 77.74 KiB ( 29.73% of original size)
9 77.75 KiB ( 29.74% of original size)
मुझे यकीन नहीं है कि यह कैसे प्रतिनिधि है लेकिन इसे एक उदाहरण के रूप में काम करना चाहिए। इसके अलावा, मैंने सीपीयू उपयोग को ध्यान में नहीं रखा है, लेकिन इन परिणामों से आदर्श संपीड़न स्तर के बीच 4
और लगता है 6
।
इसके अतिरिक्त, यदि आप gzip_static
मॉड्यूल का उपयोग करते हैं, तो आप अपनी फ़ाइलों को (PHP में) पूर्व-संपीड़ित करना चाहते हैं:
function gzip_static($path)
{
if ((extension_loaded('zlib') === true) && (is_file($path) === true))
{
$levels = array();
$content = file_get_contents($path);
foreach (range(1, 9) as $level)
{
$levels[$level] = strlen(gzencode($content, $level));
}
if ((count($levels = array_filter($levels)) > 0) && (min($levels) < strlen($content)))
{
if (file_put_contents($path . '.gz', gzencode($content, array_search(min($levels), $levels)), LOCK_EX) !== false)
{
return touch($path . '.gz', filemtime($path), fileatime($path));
}
}
}
return false;
}
यह आपको हर अनुरोध पर सीपीयू का त्याग किए बिना सर्वोत्तम संभव संपीड़न प्राप्त करने की अनुमति देता है।