диск iops от scylla_setup iotune Study мой диск отличается от данных теста fio - PullRequest
0 голосов
/ 27 июня 2019

при использовании scylla_setup, iotune Study мой reuslt:

Measuring sequential write bandwidth: 473 MB/s
Measuring sequential read bandwidth: 499 MB/s
Measuring random write IOPS: 1902 IOPS
Measuring random read IOPS: 1999 IOPS

iops 1900-2000, при использовании fio,

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=/dev/sdc1 --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75

результат равен

test: (groupid=0, jobs=1): err= 0: pid=11697: Wed Jun 26 08:58:13 2019
   read: IOPS=47.6k, BW=186MiB/s (195MB/s)(3070MiB/16521msec)
   bw (  KiB/s): min=187240, max=192136, per=100.00%, avg=190278.42, stdev=985.15, samples=33
   iops        : min=46810, max=48034, avg=47569.61, stdev=246.38, samples=33
  write: IOPS=15.9k, BW=62.1MiB/s (65.1MB/s)(1026MiB/16521msec)
   bw (  KiB/s): min=62656, max=65072, per=100.00%, avg=63591.52, stdev=590.96, samples=33
   iops        : min=15664, max=16268, avg=15897.88, stdev=147.74, samples=33
  cpu          : usr=4.82%, sys=12.81%, ctx=164053, majf=0, minf=23
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwt: total=785920,262656,0, short=0,0,0, dropped=0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=186MiB/s (195MB/s), 186MiB/s-186MiB/s (195MB/s-195MB/s), io=3070MiB (3219MB), run=16521-16521msec
  WRITE: bw=62.1MiB/s (65.1MB/s), 62.1MiB/s-62.1MiB/s (65.1MB/s-65.1MB/s), io=1026MiB (1076MB), run=16521-16521msec

Disk stats (read/write):
  sdc: ios=780115/260679, merge=0/0, ticks=792798/230409, in_queue=1023170, util=99.47%

чтение iops - 46000 - 48000, запись iops - 15000-16000

1 Ответ

0 голосов
/ 13 июля 2019

(NB: Похоже, что спрашивающий подал это как проблему Scylla Github - https://github.com/scylladb/scylla/issues/4604)

[почему] диск iops от scylla_setup iotune [...] отличается от данных теста fio

Различные тесты, разные результаты:

  • Сцилла, возможно, использовала гораздо больший размер блока (например, 64 КБ) на один ввод / вывод (это, вероятно, самый большой фактор). По мере того, как вы увеличиваете размер блока (до некоторого максимума из-за уменьшения отдачи), пропускная способность (т. Е. Общий объем данных, который вы можете отправить, скажем, в секунду), достигнутый с этим размером блока, увеличивается, но количество операций ввода-вывода в секунду, которые вы получаете, обычно уменьшается (вы посылают больше данных за ввод / вывод в конце концов). Это нормально!
  • Сцилла может использовать буферизованный ввод / вывод (а не прямой ввод / вывод)
  • Сцилла, возможно, тестировала чтение и запись отдельно
  • Сцилла, возможно, использовала большую глубину очереди
  • Сцилла, возможно, собирала свои материалы по-другому
  • Сцилла может писать другой тип данных
  • И так далее ...

В общем, очень сложно взять тесты, выполненные с помощью разных инструментов, и сравнить их непосредственно друг с другом - вам нужно знать, что они делают под капотом, чтобы любое сравнение имело смысл. Попытка взглянуть на IOPS или пропускную способность в отдельности без дополнительного контекста не имеет смысла, поскольку вы обычно сравниваете одно с другим. Лучше использовать один и тот же инструмент сравнения с одинаковыми параметрами, чтобы сравнить изменения двух разных машин или измерить влияние настройки на одну машину.

TLDR; Вероятно, это сравнение яблок и апельсинов, когда инструменты измеряют различные контексты.

PS: gtod_reduce - это полоса ускорения, в которой мало кто действительно нуждается. Если ваше оборудование не способно обрабатывать гигабайты в секунду, и вы не видите, что ваш ЦП работает с максимальной нагрузкой, маловероятно, что сокращение вызовов gettimeofday значительно улучшит результат.

(Этот вопрос может быть более уместным для Ошибка сервера (и, следовательно, получить лучшие ответы там), потому что он не имеет непосредственного отношения к программированию)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...