Comments 40
"gzip = чтение/записать на диск + инициализация библиотеки + создание архива"
исправить на Запись. ;)
исправить на Запись. ;)
на высоконагруженных проектах не стоит сжимать файлы каждый раз
для высоконагруженных проектов под nginx, можно использовать http_gzip_static_module http://wiki.codemongers.com/NginxHttpGzi… :)
Спасибо, познавательно.
Дело, конечно, ваше, но зачем переносить статью?
Впринципе результаты ожидаемые. Хотя в данном случае я надеялся увидеть выкладки не по статическим данным, а по динамическим... А по статике и так понятно - сжали один раз и забыли.
чем в Вашем понимании статические данные от динамических для gzip'а отличаются? и те, и другие это просто набор байтов, но полученных немного по-разному. Способ получения начального объема информации на результаты по быстроте сжатия и передачи этой информации, по-моему, очень слабо влияет (если вообще влияет).
я возможно упустил, а есть график зависимости использования cpu от степени сжатия c 1 по 9-й
нет, не делал. В тестах использовалась дефолтная (7 вроде) степень сжатия. У Apache обычно от 3 до 7 используется, по-моему.
жаль :) если будет возможность, сделайте, у nginx дефолтовая 1, не думаю что там дефолтовая максимальная стоит, имхо 3 и не выше, на http://www.zlib.org не нашел почему-то в доках.
я имел в виду апач, судя по докам он берет дефолтовую zlib
для примера... 64139 байт html
gzip -1 = 12891 байт
gzip -9 = 10726 байт
gzip -3 = 12300
для примера... 64139 байт html
gzip -1 = 12891 байт
gzip -9 = 10726 байт
gzip -3 = 12300
дык статику достаточно сжать один раз после изменения и потом только отдавать, а динамические данные придётся сжимать при каждом запросе.
а то в nginx ставлю то 3 то 9, к своему стыду, ни разу не пробовал замерять результат
Я считаю, что, наоборот, сильно влияет. Генерация динамических данных на сервере занимают больше памяти, поэтому чем быстрее отдаете их, тем быстрее память освобождается для следующих запросов
>> gzip = чтение/записать на диск + инициализация библиотеки + создание архива
а при чём тут запись на диск? вы же сами позднее говорите:
>> любой веб-сервер и так берет файл из файловой системы и архивирует уже в памяти, а потом пишет в сокет
а при чём тут запись на диск? вы же сами позднее говорите:
>> любой веб-сервер и так берет файл из файловой системы и архивирует уже в памяти, а потом пишет в сокет
неудобно, что не на всех графиках шкалы подписаны
Спасибо конено, но дисковая подсистема получилась какая-то сферическая в вакууме. Если уж меряли, то напишите, под какой осью-ядром, какая ФС использовалась, что за винты.
mod_deflate ничего не пишет на диск
никак не влияет
Хм уже который год использую гзип сжатие на сайтах.
Среднее значение работы zlib:0,002с GZIP:71%
Те тратится всего ничего, а уменьшается почти в два раза данные.
Сжимается каждый раз на лету.
Размер тестовой страницы 12КБ
Немного не понятны слова о записи\чтения диска.. Вроде как исключительно CPU bound
Ну а если с процом совсем плохо то можно перейти на deflate сжатие.
Оно к сожалению работает очень далеко не везде, зато сжимает файлы практически также(проверял 1-2% разницы, в обе строны) но проца требует на сервере много меньше
Среднее значение работы zlib:0,002с GZIP:71%
Те тратится всего ничего, а уменьшается почти в два раза данные.
Сжимается каждый раз на лету.
Размер тестовой страницы 12КБ
Немного не понятны слова о записи\чтения диска.. Вроде как исключительно CPU bound
Ну а если с процом совсем плохо то можно перейти на deflate сжатие.
Оно к сожалению работает очень далеко не везде, зато сжимает файлы практически также(проверял 1-2% разницы, в обе строны) но проца требует на сервере много меньше
Подпишите графики!
Неучтено влияние дискового кеша.
99% что все последующие чтения одного неизменённого файла проводились из диского кеша.
(в выводе free его размер указан в последней колонке)
99% что все последующие чтения одного неизменённого файла проводились из диского кеша.
(в выводе free его размер указан в последней колонке)
Алексей, поясните Вашу мысль. Сначала все файла архивировались, потом просто открывались. Дисковые операции идентичны, чего, собственно, и хотелось достичь. Или Вы имеете в виду другое?
Когда Вы читаете некий файл в первый раз он действительно считывается с жесткого диска. Когда Вы читаете этот же файл (и он с прошлого чтения не менялся) он читается уже из дискового кеша в оперативной памяти. Т.е. как таковая дисковая операция происходит только один раз для каждого файла.
Я говорю про Linux, под другими разновидностями Unix это может быть по-другому.
Я говорю про Linux, под другими разновидностями Unix это может быть по-другому.
к сожалению, Вы не ответили на вопрос: почему Вы считаете, что что-то оказалось не учтено, ведь дисковые операции в обеих сериях были идентичны
Все "идентичные операции" были из кеша и дисковых операций практически не было. Т.е. они не учтены.
Обычно принято при таких тестах очищать дисковый кеш тем или иным способом.
Обычно принято при таких тестах очищать дисковый кеш тем или иным способом.
не открывается почему-то статья :/
недавно тестировал mod_deflate
15 тыс хостов
по данным cacti уменьшился исходящий трафик в пике с 10мбит до 2мбит
немного увеличилась нагрузка на cpu +3-5%
Opteron 246 2Ghz (cpufreq 1Ghz)
RAM 1gb
scsi
15 тыс хостов
по данным cacti уменьшился исходящий трафик в пике с 10мбит до 2мбит
немного увеличилась нагрузка на cpu +3-5%
Opteron 246 2Ghz (cpufreq 1Ghz)
RAM 1gb
scsi
Sign up to leave a comment.
Как gzip-сжатие влияет на производительность сервера