В продолжение статьи "Кеширование дисковых операций с помощью bcache и SSD" хочу поделится результатами замеров производительности.
Планировалось так же получить результаты для операций чтения, но тест показал странные цифры в пределах одного миллиона операций в секунду, что вызвало определенные сомнения. Поэтому было решено отложить тестирование до понимания что это за цифры, и откуда они берутся.
Напомню, в системе установлены три типа дисков, собранных попарно в программное "зеркало" (RAID1):
Было выполнено три цикла тестов, для каждого из присутствующих в системе типов дисковых устройств:
Для тестирования использовался пакет iozone 3.397, тестирование для каждого из томов выполнялось с блоками размером 4, 32, 128 и 512 кБ, размер тестового файла 512 МБ.
Перед запуском очередного теста том отключался и монтировался по новой. В качестве файловой системы использовалась ext2, для исключения влияния буфера в памяти и накладных расходов на обновление атрибутов и времени доступа, тома монтировались со следующими опциями "rw,nocheck,sync,nobh,noatime,nodiratime,nouser_xattr".
Планировалось так же получить результаты для операций чтения, но тест показал странные цифры в пределах одного миллиона операций в секунду, что вызвало определенные сомнения. Поэтому было решено отложить тестирование до понимания что это за цифры, и откуда они берутся.
Напомню, в системе установлены три типа дисков, собранных попарно в программное "зеркало" (RAID1):
- два диска SATA2 Seagate ST9750420AS.
- два диска SAS HITACHI HUC109030CSS600.
- два диска SSD SATA3 PNY SSD2SC120GE2DA08B-T.
Было выполнено три цикла тестов, для каждого из присутствующих в системе типов дисковых устройств:
- тест производительности для отдельных томов RAID1 (до установки ядра с поддержкой bcache).
- тест производительности при включенном кешировании в режиме writethrough.
- тест производительности при включенном кешировании в режиме writeback.
Для тестирования использовался пакет iozone 3.397, тестирование для каждого из томов выполнялось с блоками размером 4, 32, 128 и 512 кБ, размер тестового файла 512 МБ.
Перед запуском очередного теста том отключался и монтировался по новой. В качестве файловой системы использовалась ext2, для исключения влияния буфера в памяти и накладных расходов на обновление атрибутов и времени доступа, тома монтировались со следующими опциями "rw,nocheck,sync,nobh,noatime,nodiratime,nouser_xattr".
Тест отдельных томов, "чистая" производительность.
Замечу, на упаковке SSD дисков было указана производительность до 85 тысяч операций в секунду, реально получилось "несколько" меньше;)
Тест с включенным кешированием в режиме writethrough.
Здесь уже наблюдается небольшой выигрыш в производительности.
Тест с включенным кешированием в режиме writeback.
Тут налицо значительный прирост, причем отличие более дорогих дисков SAS от дешевых SATA не такой уж и большой.
Для наглядности, как проявляется кеширование на живой системе, на описанном раннее сервер в момент "покоя", то есть при устоявшейся средней нагрузке в средине дня, на полчаса кеширование было переключено в режим writethrough, а затем обратно - в режим writeback. Ниже приведены графики как система отреагировала на подобное изменение.



.png)


