How to test the performance of VOS in docker.


Chihaya Kisaragi <gaiaismus@...>
 

Hi ,all. I want to test the performance of VOS under a single machine without network interference. Is such a test script provided in the project?
I found a file called vos_test.c, but I didn't find the part about performance test in it and how to run the file.
If no such script is provided in the project, Can someone tell me how to solve this problem or provide relevant test data.

Thanks!
Chihaya Kisaragi


Patrick Farrell <paf@...>
 

Kisaragi,

Take a look at daos_perf - both the utility and the associated .sh.  The .sh file should be helpful in running it.

It allows benchmarking from the vos level, exactly as you are describing.

(vos_test.c is part of the automated test suite rather than a performance test.)

Regards,
Patrick

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of Chihaya Kisaragi <gaiaismus@...>
Sent: Sunday, March 22, 2020 7:23 AM
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: [daos] How to test the performance of VOS in docker.
 
Hi ,all. I want to test the performance of VOS under a single machine without network interference. Is such a test script provided in the project?
I found a file called vos_test.c, but I didn't find the part about performance test in it and how to run the file.
If no such script is provided in the project, Can someone tell me how to solve this problem or provide relevant test data.

Thanks!
Chihaya Kisaragi


Chihaya Kisaragi <gaiaismus@...>
 

Thank you for your reply.

I read the daos_perf.c and .sh, they do seem to solve my problem.

But I don't know how to use them.

For example, I just built daos from github in docker, used the daos_server_local.yml to start daos server and use the dmg -i storage format to format.
When should I run the daos_perf.sh for testing.

Thanks! 

Chihaya Kisaragi
 


Farrell, Patrick Arthur <patrick.farrell@...>
 

Kisaragi,

There is a lot to this - I would say you'll need to read the sections in the manual on install and startup.  Getting a DAOS server started correctly is explained there.

-Patrick

From: daos@daos.groups.io <daos@daos.groups.io> on behalf of Chihaya Kisaragi <gaiaismus@...>
Sent: Sunday, March 22, 2020 10:28 AM
To: daos@daos.groups.io <daos@daos.groups.io>
Subject: Re: [daos] How to test the performance of VOS in docker.
 
Thank you for your reply.

I read the daos_perf.c and .sh, they do seem to solve my problem.

But I don't know how to use them.

For example, I just built daos from github in docker, used the daos_server_local.yml to start daos server and use the dmg -i storage format to format.
When should I run the daos_perf.sh for testing.

Thanks! 

Chihaya Kisaragi
 


Chihaya Kisaragi <gaiaismus@...>
 

Patrick,

Thank you for answering these questions. You're right, I found some answers from the document.

But I still encountered some problems.
I used the following command to install and start:
  1. curl -L https://raw.githubusercontent.com/daos-stack/daos/master/utils/docker/Dockerfile.centos.7 | \ docker build --no-cache -t daos -
  2. docker run -it -d --privileged --name server \ -v /dev/hugepages:/dev/hugepages \ daos
  3. docker exec server mkdir /var/run/daos_server
  4. docker exec server daos_server start \ -o /root/daos_server.yml

And I got the following error:

daos_server logging to file /tmp/daos_control.log
ERROR: /usr/bin/daos_admin EAL: No free hugepages reported in hugepages-1048576kB
ERROR: setup control service: server: code = 637 description = "NVMe SSD [0000:89:00.0] not found"
ERROR: server: code = 637 resolution = "check SSD [0000:89:00.0] that are specified in server config exist and are accessible by SPDK"


This is my daos_server.yml:

name: daos_server
access_points: ['localhost']
# port: 10001
provider: ofi+sockets
nr_hugepages: 4096
control_log_file: /tmp/daos_control.log
transport_config:
   allow_insecure: true
 
servers:
-
  targets: 1
  first_core: 0
  nr_xs_helpers: 0
  fabric_iface: eth0
  fabric_iface_port: 31416
  log_file: /tmp/daos_server.log
 
  env_vars:
  - DAOS_MD_CAP=1024
  - CRT_CTX_SHARE_ADDR=0
  - CRT_TIMEOUT=30
  - FI_SOCKETS_MAX_CONN_RETRY=1
  - FI_SOCKETS_CONN_TIMEOUT=2000
 
  scm_mount: /mnt/daos
  scm_class: ram
  scm_size: 4
 
  bdev_class: nvme
  bdev_list: ["0000:89:00.0"]

I'm sure there is no problem with the pcie address:

[root@430a004374a8 examples]# lspci -s 0000:89:00.0
89:00.0 Non-Volatile memory controller: Intel Corporation NVMe Datacenter SSD [3DNAND, Beta Rock Controller]

Chihaya Kisaragi