Mellanox / sockperf

Network Benchmarking Utility
Other
597 stars 119 forks source link

Sockperf Performance over mesh testing #233

Open tricksterisback opened 1 month ago

tricksterisback commented 1 month ago

I have a setup of 66 vms where i want to measure latency between each vm by pairing them in n(n-1)/2 pairs. Now i am using currently 8 ports on the server and at a time 65 clients will connect to any of the 8 ports. This has been working well for a 19 VM Sockperf mesh Test setup but when i scale it up higher number i start to see Cpu and Memory bandwidth issues. I have a 8vcore 64 gib. Has anybody done this before or is sockperf capable of this scale? Any help would be much appreciated

Here is the ansible code to deploy the setup

- name: Install sockperf server systemd
  become: true
  shell: |
    server_vm_name=$(hostname)
    server_vm_ip=$(hostname -I | awk '{print $1}')

    # Define the port file path
    port_file="/etc/default/networktestsv1/ansible/hosts/sockperf_server_ports.txt"

    # Remove the port file if it exists
    [ -f "$port_file" ] && rm "$port_file"

    # Generate the port file content
    for port in {12345..12352}; do
      echo "T:${server_vm_ip}:${port}" >> /etc/default/networktestsv1/ansible/hosts/sockperf_server_ports.txt
    done

    # Define the server command
    server_cmd="sockperf sr -f ${port_file} --threads-num 24"

    # Run the configure server service script
    bash /etc/default/networktestsv1/ansible/Scripts/configure_server_service.sh "${server_cmd}" "sockperf"
  register: configure_results
  ignore_errors: false