EMS can handle only 3700 per server
Hello guys,
I have a server E5-2620 2GHz which has 24 cores, 64GB RAM,
240GB SSD and 1Gbps bandwidth for the server.
I send live audio stream which has about 60Kbps bitrate.
If I calculate 1Gbps * 1024 * 1024 / 60Kbps = 17476.
I.e. theoretically EMS must handle at least 15000 connections.
When I did stress testing with load tools I got that EMS started
working slower and started rejecting connections after about
3500 concurrent connections…
CPU usage is low, BW usage is low… Where can be bottleneck?
Some screen shotes below.
Also my "limits.conf" file is:
* soft memlock 60397977
* hard memlock 60397977
* soft nofile 524288
* hard nofile 524288
* soft nproc 524288
* hard nproc 524288
* soft stack 1024
* hard stack 1024
And my "sysctl.conf" file is:
# files
fs.file-max = 524288
# kernel
kernel.sem = 250 256000 100 1024
kernel.sysrq = 0
kernel.shmmni = 4096
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.msgmnb = 65536
kernel.msgmax = 65536
# set vm
#vm.nr_hugepages = 24576
# controls IP packet forwarding
net.ipv4.ip_forward = 1
# turn off IP6 support
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# enable IP spoofing protection
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth1.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
# disables IP source routing
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.eth1.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
# prevent ICMP echo to block any ping requests
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.eth1.accept_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# tcp memory limits
net.ipv4.tcp_rmem = 10240 4194394 12582912
net.core.rmem_max = 33554432
net.core.rmem_default = 8388608
net.ipv4.tcp_wmem = 10240 4194394 12582912
net.core.wmem_max = 33554432
net.core.wmem_default = 4194394
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
# remove tcp time_wait
net.ipv4.ip_forward = 0
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 720000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 7
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1