LINUX.ORG.RU

Zram vs Zswap. Часть 2: тесты

 , ,


3

3

Чтобы закрыть оставшиеся вопросы, я провёл серию тестов на скорость и отзывчивость по симуляции сёрфинга с фоновой нагрузкой.

Железо:

  • ноутбук HP pavilion dv5
  • Оперативная память 2Гб
  • Цпу: двухядерный pentium duo (core2), ограниченный до 65 градусов через cpufreqd
  • Видеокарта nvidia 9200M 256M видеопамяти, драйвер nouveau
  • Дистрибутив дебиан10, ядро 4.19
  • накопитель ssd

После загрузки запускаю:
Virtualbox (256М оперативки, ХР, пустой рабочий стол), firefox, пара консолек. В стартовой позиции занято 1,1Гб памяти.

Затем запускаю скрипт с тестовым сценарием:

  • На первом этапе открывается 5 вкладок через небольшие промежутки времени (5-7с) чтобы быстро добраться до начала свопинга.
  • Затем запускается Unigine Tropics (на минималках разумеется) в качестве индикатора отзывчивости системы и для фоновой нагрузки. Даётся задержка 40с для подгрузки оставшихся вкладок и собственно Tropics.
  • Начинает открываться второй пакет вкладок, 19 штук с промежутками 16с. Тестовый пакет - различные новостные ленты, не повторяжщиеся.
  • В момент появления первой из них я запускаю 'benchmark' в Tropics. Нагрузка упирается в цпу, браузер начинает захлёбываться и не успевает отрисовывать вкладки. Необходимость одновременно с этим свопиться определённо замедляет его и при этом дополнительно просаживает фпс в Tropics. Так как все прочие условия и настройки одинаковы, разница в тестах зависит от разных настроек свопинга.
  • Tropics заканчивает свой бенчмарк первыми и выдаёт результат, но продолжает рисовать остров, не сбрасывает нагрузки и я его не трогаю.
  • Окончание отрисовки пакета вкладок считаю по появлению ямы в графике нагрузки цпу (это происходит через ~5-10с после того, как firefox объявляет все вкладки загруженными). Время теста замеряется секундомером на смартфоне от запуска скрипта до повяления ямы на графике.

И последний тест, на пролистывание всех отрисованных вкладок.
Окно firefox на весь экран, Tropics остаётся в фоне, для каждой вкладки я жду подгрузки картинки, даю команду «end» (с плавной прокруткой), жду подгрузки, потом «home», подгрузка, ctrl-W для закрытия. Время теста также по секундомеру.

Серия тестов:
1) простой свопинг
2) zswap 25% z3fold/lzo
3) zswap 25% zbud/lzo
4) zram/lzo, backing_dev на ssd, mem_limit=450M

Результаты:

Unigine Tropics
Без дополнительной нагрузки:
результат 205, фпс мин/средн/макс 5,2/8,1/20,5
1) результат 162 фпс 3,1 / 6,4 / 19,4
2) результат 170 фпс 4,0 / 6,7 / 16,0
3) результат 168 фпс 3,4 / 6,7 / 16,5
4) результат 168 фпс 3,8 / 6,7 / 12,7
Здесь лучшую отзывчивость показал zswap/z3fold, а все 3 ускорителя явно лучше чем прямой свопинг.

Открытие вкладок
1) 7:33
2) 7:10
3) 7:26
4) 7:07
Zram победил, zswap/z3fold дышит в спину, zswap/zbud почти ничего не даёт.

Закрытие вкладок
1) 2:43
2) 2:49
3) 2:54
4) 2:42
Этот тест наиболее субъективный и менее точный. Со своей стороны могу заметить, что вариант zram показался мне самым отзывчивым и быстрым при поднятии из свопа.

Дополнение

Суммарный sleep в тестовом скрипте: 6:04 (Что более-менее оправдано в серии тестов 1-4. Держит загрузку цпу (все ядра суммарно) в районе 75...150% большую часть времени, за исключением пика до 200...300% на последних вкладках)

Если проходить тест открытия вкладок не допуская свопинга, т.е. пролистывая и закрывая вкладки, тогда:
Без всех утяжелителей: 6:21
С фоновым Unigine Tropics: 6:37 (tropics 181 фпс 4,3/7,2/19,1)

Вывод: Если вычесть это время (что 6:04, что 6:37), получается довольно заметая разница в 19 секунд из 56...89 (как считать).

И... Вернёмся к истокам, своп на HDD (80Гб, 720rpm, 8М), подключенном через usb 2.0!

5) Методика тестирования прежняя, zswap/z3fold 25%, lzo.
tropics 181 фпс 4,3/7,2/19,1
открытие: 7:21
закрытие: 2:53
При этом диск практически простаивает пока в свопе не окажется ~1,3-1,4Гб. Потом начинает активно использоваться.

6) Отключаю zswap, методика прежняя. Приблизительно те же самые показатели до 6-й минуты, когда Tropics заканчивает бенчмарк. И тут я трогаю мышку и навожу её на окно Tropics... Мышка просыпается, Kwin просыпается, konsole просыпается, firefox продолжает пережёвывать вкладки, система уходит в своп-трашинг. Я смотрю на это мунуту и решаю прервать тест. 15 МИНУТ НА ПРЕРЫВАНИЕ ТЕСТА И РЕБУТ!

Меняю методику тестирования. При прохождении тестов на ssd я мог без ограничений переключать окна и разворачивать список вкладок, без тормозов и задержек. Теперь я делают то же самое в поцессе теста на HDD. Без особо активных попыток вызвать своп-трэшинг.
tropics 175 фпс 3,3/6,9/20,6
открытие: 13:32
закрытие: 8:08

7) Повторяю тест HDD+zswap/z3fold, но специально провоцирую своп-трэшинг, тыкаю в окна, переключаю вкладки в пределах последних 4.
tropics 170 фпс 3,2/6.7/14,6
открытие: 8:40
закрытие: 2:45

Вывод: Ускорители свопа однозначно совершили революцию. Только мы её не видим, потому что на ssd разницы не заметно.

★★★★★

Проверено: hobbit ()
Последнее исправление: kirill_rrr (всего исправлений: 9)
Ответ на: комментарий от ya-betmen

Если вычесть это время (что 6:04, что 6:37), получается довольно заметая разница в 19 секунд из 56...89 (как считать).

Или в случае hdd

открытие: 8:40
закрытие: 2:45

против

открытие: 13:32
закрытие: 8:08

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

Неприемлимо что, получить трёхкратное ускорение на харде и 21+% на ссд? Или неприемлимо на порядок-другой снизить своп-трэшинг или вообще избавиться от него?

kirill_rrr ★★★★★
() автор топика
Последнее исправление: kirill_rrr (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

Всё равно неприемлимо.

Это стресс-тест на слабом ноуте с 2G ram, с процессором pentium duo «ограниченный до 65 градусов через cpufreqd».
Какие-то другие ожидания от подобного железа? :)

krasnh ★★★★
()
Ответ на: комментарий от ya-betmen

Для тебя 25 секунд пустой звук? O_o

CrX ★★★★★
()
Ответ на: комментарий от krasnh

Вы забыли гирю в виртуалбоксе и тормозной парашют на одном ядре. И да pentium T3400, оно 2008 года на 65нм.

kirill_rrr ★★★★★
() автор топика
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от kirill_rrr

Да, я про то и говорю. Инет и браузеры разжирели настолько, что всякие извращения со свопом погоды не делают. Я помню когда на селероне с 385 метрами опреативы хром запустил, лет 7 назад, так оно еле ворочалось.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Мне тоже ситуация не нравится, но нет, вот эти вот извращения со свопом позволяют мне за ~1500-2000р самого дешёвого ssd продолжать пользоваться старым ноутом и не тратиться на новый.

Это всё таки стресс-тест, стандартный для него сценарий это открыть пакет 2-5 вкладок со страницы поисковика, подготовить к чтению первую из них в течении 15-20 секунд и завершить работу в фоне, пока я читаю. Теоретически тут даже не нужен своп, но по факту система всегда находится на границе свопинга. И продолжает работать как будто памяти дочерта, просто проц слабый.

kirill_rrr ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

А без стресса я могу открыть 3 окна по 10 вкладок так, как будто у меня не 2 а 4 гига рамы. Собственно я в теории могу открывать их до тех пор, пока фокс не рухнет - свопа хватит. Скорости не прибавляется, только снижает i/o на ssd.

kirill_rrr ★★★★★
() автор топика
Последнее исправление: kirill_rrr (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.