You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
7.7 KiB
142 lines
7.7 KiB
8 years ago
|
---
|
||
|
title: Сравнение производительности Sheepdog/Ceph
|
||
|
tags: software, sheepdog, ceph, репост
|
||
|
---
|
||
|
|
||
|
Выкладываю данные по тестированию производительности ceph и sheepdog.
|
||
|
|
||
|
Тестовый стенд: 3 почти одинаковых сервера с двумя дисками по 500Гб.
|
||
|
С каждого диска в конце откушено по 450Гб под данные и отдано под разные системы.
|
||
|
В качестве хранилища чанков используется ext4 (sheepdog) и xfs (ceph).
|
||
|
Тип объекта - реплиируемый, количество копий и там и там выставлено в 2.
|
||
|
chunk size везде равен 4мб.
|
||
|
|
||
|
---
|
||
|
|
||
|
[Конфиг](ceph.conf) кластера ceph.
|
||
|
|
||
|
Порядок тестирования:
|
||
|
|
||
|
* создаётся блочное устройство в нужной системе
|
||
|
* подключается к виртуалке
|
||
|
* ставится чистая freebsd 10.3
|
||
|
* качается дерево исходников (1й бенчмарк, линейная запись)
|
||
|
* распаковывается (2й бенчмарк, запись множества мелких файлов)
|
||
|
* удаляется (3й бенчмарк, чистая работа с метаданными фс)
|
||
|
* свободное место на разделе заполняется нулями, с целью вызвать полное выделение места под диск (cat /dev/zero > zero.bin; rm zero.bin)
|
||
|
* распаковывается 2й раз (4й бенчмарк, то же самое что и второй, но при полностью выделенном месте)
|
||
|
* качается архив с деревом портов (5й бенчмарк, линейная запись)
|
||
|
* распаковывается (6й бенчмарк)
|
||
|
* удаляется
|
||
|
|
||
|
При смене дисковой системы сама виртуалка не удаляется, только перетыкаются диски.
|
||
|
|
||
|
Результаты (время, H:M:S):
|
||
|
|
||
|
.---.-------------------------.----------.----------.
|
||
|
| # | теста | sheepdog | ceph |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 1 | fetch src.txz (320Mb) | 0:00:52 | 0:01:45 |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 2 | tar -xJf src.txz | 0:03:50 | 0:41:29 |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 3 | rm -rf src/ | 0:00:17 | 0:00:39 |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 4 | tar -xJf src.txz | 0:07:26 | 0:51:25 |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 5 | fetch ports.txz (220Mb) | 0:00:24 | 0:00:57 |
|
||
|
:---+-------------------------+----------+----------:
|
||
|
| 6 | tar -xJf ports.txz | 0:10:03 | 1:47:17 |
|
||
|
'---'-------------------------'----------'----------'
|
||
|
|
||
|
Статистика по архивам ([скрипт подсчёта](fs-stat.pl)):
|
||
|
|
||
|
.-------------------------.-----------.-----------.
|
||
|
| Показатель | src.txz | ports.txz |
|
||
|
:-------------------------+-----------+-----------:
|
||
|
| Обычных файлов | 124960 | 295333 |
|
||
|
| Директорий | 7042 | 36725 |
|
||
|
| Прочих типов файлов | 0 | 0 |
|
||
|
:-------------------------+-----------+-----------:
|
||
|
| Размер <1кб | 27335 | 235632 |
|
||
|
| Размер 1-10кб | 75354 | 89000 |
|
||
|
| Размер 10-100кб | 26991 | 6157 |
|
||
|
| Размер 100-1024кб | 2225 | 1135 |
|
||
|
| Размер >=1024кб | 97 | 134 |
|
||
|
'-------------------------'-----------'-----------'
|
||
|
|
||
|
Параметры rbd:
|
||
|
|
||
|
rbd image 'vm-108-disk-1':
|
||
|
size 32768 MB in 8192 objects
|
||
|
order 22 (4096 kB objects)
|
||
|
block_name_prefix: rbd_data.14082ae8944a
|
||
|
format: 2
|
||
|
features: layering
|
||
|
|
||
|
Состояние ceph-кластера:
|
||
|
|
||
|
# ...после теста 3
|
||
|
cluster fc4c3641-892b-4bcb-94a3-8447e831a904
|
||
|
health HEALTH_OK
|
||
|
monmap e2: 2 mons at {node2=192.168.7.5:6789/0,node3=192.168.7.6:6789/0}, election epoch 4, quorum 0,1 node2,node3
|
||
|
osdmap e29: 3 osds: 3 up, 3 in
|
||
|
pgmap v803: 392 pgs, 4 pools, 1466 MB data, 425 objects
|
||
|
6113 MB used, 1144 GB / 1150 GB avail
|
||
|
392 active+clean
|
||
|
# ...после теста 4
|
||
|
cluster fc4c3641-892b-4bcb-94a3-8447e831a904
|
||
|
health HEALTH_OK
|
||
|
monmap e2: 2 mons at {node2=192.168.7.5:6789/0,node3=192.168.7.6:6789/0}, election epoch 4, quorum 0,1 node2,node3
|
||
|
osdmap e29: 3 osds: 3 up, 3 in
|
||
|
pgmap v5706: 392 pgs, 4 pools, 16984 MB data, 4289 objects
|
||
|
36924 MB used, 1114 GB / 1150 GB avail
|
||
|
392 active+clean
|
||
|
# ...после всех тестов и удаления rbd
|
||
|
cluster fc4c3641-892b-4bcb-94a3-8447e831a904
|
||
|
health HEALTH_OK
|
||
|
monmap e2: 2 mons at {node2=192.168.7.5:6789/0,node3=192.168.7.6:6789/0}, election epoch 4, quorum 0,1 node2,node3
|
||
|
osdmap e29: 3 osds: 3 up, 3 in
|
||
|
pgmap v10514: 392 pgs, 4 pools, 8 bytes data, 1 objects
|
||
|
3209 MB used, 1147 GB / 1150 GB avail
|
||
|
392 active+clean
|
||
|
|
||
|
Состояние sheepdog после всех тестов:
|
||
|
|
||
|
Cluster status: running, auto-recovery enabled
|
||
|
Cluster store: plain with 2 redundancy policy
|
||
|
Cluster vnode mode: node
|
||
|
Cluster created at Wed Feb 1 23:20:29 2017
|
||
|
|
||
|
Epoch Time Version
|
||
|
2017-02-26 14:33:19 11 [192.168.7.4:7000, 192.168.7.5:7000, 192.168.7.6:7000]
|
||
|
|
||
|
Замеры потребления ресурсов, в мб (ps -o rss,vsz,cmd ax | grep cmd).
|
||
|
|
||
|
.-------------------------.-----------.-----------.-----------.
|
||
|
| Показатель | node1 | node2 | node3 |
|
||
|
:-------------------------+-----------+-----------+-----------:
|
||
|
| после 4 теста |
|
||
|
:-------------------------+-----------+-----------+-----------:
|
||
|
| ceph / osd | 139 / 753 | 124 / 748 | 139 / 764 |
|
||
|
| ceph / mon | --- / --- | 151 / 339 | 70 / 245 |
|
||
|
| sheepdog | 10 / 617 | 18 /1825 | 12 / 724 |
|
||
|
:-------------------------+-----------+-----------+-----------:
|
||
|
| после всех тестов |
|
||
|
:-------------------------+-----------+-----------+-----------:
|
||
|
| ceph / osd | 141 / 755 | 124 / 747 | 138 / 763 |
|
||
|
| ceph / mon | --- / --- | 193 / 384 | 86 / 261 |
|
||
|
| sheepdog | 10 / 617 | 18 /1796 | 12 / 706 |
|
||
|
'-------------------------'-----------'-----------'-----------'
|
||
|
|
||
|
Примечание: на sheepdog'е во время теста висели ещё виртуалки (в замороженном состоянии).
|
||
|
Кроме того, нетрудно заметить, что тестируемая виртуалка располагалась на второй ноде.
|
||
|
На первой ноде монитора ceph'а не было, на второй он был основным, третьей - резервным.
|
||
|
|
||
|
Выводы
|
||
|
------
|
||
|
|
||
|
Однако, на мелких файлах рвёт как тузик грелку.
|
||
|
Используйте на свой страх и риск, решение всё ещё нестабильно.
|
||
|
Все данные потерять - это врятли, а вот побить в процессе recovery - это запросто.
|