В nginx то понятно что динамическое сжатие как с gzip подключить можно будет (чтобы не тормозило уровня от 4 до 6)
Но самый цимес-то хотя бы все js и css сжать 11 уровнем и положить рядом с исходным файлом и включить в nginx - brotli static on;
Жалко что нет родного функционала и приходится в систему ставить отдельно brotli, писать скрипт и по крону его раз в минуту запускать (мой заодно и gzip версии рядом создаёт со сжатием 9 так как родной функционал со сжатием 5 уровня статику сжимает):
<? if(PHP_SAPI != 'cli') { die(); } function scan_recursive($directory) { $directory = realpath($directory); if ($d=opendir($directory)) { while($fname=readdir($d)) { if ($fname=='.' || $fname=='..') { continue; } else { $file = $directory.DIRECTORY_SEPARATOR.$fname; if(is_file($file)) { $ext = pathinfo($file, PATHINFO_EXTENSION); if($ext == 'css' or $ext == 'js') { $make_br = $make_gz = true; if(file_exists($file.'.br')) { $o = filemtime($file); $c = filemtime($file.'.br'); if($o > $c) { unlink($file.'.br'); } else { $make_br = false; } } if(file_exists($file.'.gz')) { $o = filemtime($file); $c = filemtime($file.'.gz'); if($o > $c) { unlink($file.'.gz'); } else { $make_gz = false; } } if($make_br) { $cmd = '/opt/brotli/bin/brotli -f -k -q 11 '.$file; echo $cmd; echo "\n"; echo shell_exec($cmd); echo "\n"; } if($make_gz) { $cmd = 'gzip -f -c -9 '.$file.' > '.$file.'.gz'; echo $cmd; echo "\n"; echo shell_exec($cmd); echo "\n"; } } } } if (is_dir($directory.DIRECTORY_SEPARATOR.$fname)) { scan_recursive($directory.DIRECTORY_SEPARATOR.$fname); } } closedir($d); } } echo 'Start'."\n"; scan_recursive(__DIR__.'/bitrix/cache/'); scan_recursive(__DIR__.'/bitrix/js/'); scan_recursive(__DIR__.'/bitrix/css/'); scan_recursive(__DIR__.'/bitrix/templates/'); scan_recursive(__DIR__.'/kontakty/'); echo 'Finish'."\n"; ?> |
|
| |