Giter Site home page Giter Site logo

Comments (9)

FuchengDum avatar FuchengDum commented on July 26, 2024

Hello,

I am confused about testing the performance of the jNVMf project . Would you tell me how to do the Latency measurement. I want to compare with the FIO test results.

Thank you so much!

from jnvmf.

PepperJo avatar PepperJo commented on July 26, 2024

Sorry for not getting back earlier. I was traveling. A few things: jNVMf is always async, i.e. similar to libaio, also it is always direct. The rest should be similar to fio, you have transfer size, queue depth, sequential/random. Let me know what exactly you don't understand.

from jnvmf.

FuchengDum avatar FuchengDum commented on July 26, 2024

Hello, I am appreciate to your help. it is a really new task for me. Following your advice I use the next command to test the Latency of jNVMf.:

admin@lehi-dirt:~/jNVMf> sudo fio -filename=/dev/nvme7n1p1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=async -qd 16 -i 3 -n 10 -group_reporting -name=mytest

However, it can not get the test result. Does there have some problem about the command. if the FIO tools was misused, please correct me what should I do.

And I would like to compare jNVMf with the fio result. The fio tools was used to get the results by follow command:

admin@lehi-dirt:~> fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=1 -runtime=30 -group_reporting -name=mytest

Thank you.

from jnvmf.

PepperJo avatar PepperJo commented on July 26, 2024

I'm a bit puzzled by your first fio command. Why do you try to use jNVMf arguments for fio? Neither qd, i or n do exist for fio. Also the correct ioengine would be libaio. I hope you do understand that you cannot run fio to measure performance with jNVMf. jNVMf does not mount a block device.
Also the second fio command is not a sensible latency test. For latency you should use randread with fio. If you want raw device latency measure with 4k or 512byte depending on how your device is formatted.

from jnvmf.

FuchengDum avatar FuchengDum commented on July 26, 2024

Thanks to your explanation. I misunderstand the fio tools and use it in a wrong way. Now, my problem may be simple. I am not familiar with how to measure performance with jNVMf.
Because i could not use fio, which tools should i use to test Latency. If it is possible, could your provide me the example or specific command to test jNVMf.
After getting the Latency result, I will do the raw decvice latency measure.

Thank you!

from jnvmf.

PepperJo avatar PepperJo commented on July 26, 2024

You provided the example yourself above with the NvmfClientBenchmark. The arguments I explained in the other issue you referenced. Otherwise there is also a help with -h.

from jnvmf.

FuchengDum avatar FuchengDum commented on July 26, 2024

Thanks to your help. The Latency test on HW already finished by using fio and jNVMf.
But I am still a little confused about what you mentioned in the issue #10.
Your tip:

  1. Latency and IOPS measurements: use incapsule but not inline
  2. Throughput: use inline but not incapsule
  3. large IO (>4KB) => inline
  4. Small IO (<=4KB) => incapsule
    As you mentioned use incapsule when do latency measurement, May I use the inline data to do the latency measure when IO size is large(>4KB)? And I would like to test the latency when bs=10k, 32k,64k next. what I need to take care?

from jnvmf.

PepperJo avatar PepperJo commented on July 26, 2024

If you do latency measurement for IO sizes >4KB, you should use inline but not incapsule (basically apply tip 3 and 4). Never use both at once (it will not work). IO size always needs to be multiple of formatted sector size on the device, typically 512byte or 4KB, so 10K bs might not work depending on how the device is formatted.

from jnvmf.

FuchengDum avatar FuchengDum commented on July 26, 2024

Thank you so much. I will try it right now.

from jnvmf.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.