You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
name: Configure Sockperf Client on VMs
hosts: localhost
tasks:
Step 1: Check the structure of the hosts
name: Debug group 'all' to ensure hosts are populated
debug:
var: groups['all']
Step 2: Generate pairs of VMs and validate the output
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: Configure Sockperf Client on VMs
hosts: localhost
tasks:
Step 1: Check the structure of the hosts
debug:
var: groups['all']
Step 2: Generate pairs of VMs and validate the output
name: Generate pairs of VMs
set_fact:
vm_pairs: "{{ groups['all'] | combinations(2) }}"
name: Debug VM pairs
debug:
var: vm_pairs
Step 3: Test pairing logic before applying delegate_to
loop: "{{ vm_pairs }}"
debug:
msg: "Pairing {{ item.0 }} as client with {{ item.1 }} as server"
name: Configure sockperf Client systemd
hosts: localhost
become: true
tasks:
name: Install sockperf Client systemd
Step 4: Check if both item.0 and item.1 are defined
delegate_to: "{{ item.0 }}"
shell: |
fqdn=$(getent hosts "{{ item.1 }}" | awk '{print $2}')
hostname=${fqdn%%.*}
server_ip=$(getent ahosts "$fqdn" | awk '/^[^ ]/{print $1; exit}')
loop: "{{ vm_pairs }}"
loop_control:
index_var: index
when: item.0 is defined and item.1 is defined
register: script_output
The text was updated successfully, but these errors were encountered: