I also found that if the concurrent request is bigger than the number (350), then I will often see the apache benchmark tool showing the error: apr_socket_recv: Connection reset by peer (104), which means web server suddenly disconnected in the middle of the session.
So, there are two things coming up to my mind: Apache2 configuration and Linux tuning.
I follow this document to change the mpm_worker
What I changed in my mpm_worker
For Linux tuning:
I follow this document to enlarge the system variables.
net sysctl core . somaxconn=1024 .
sysctl net.core.netdev_max_backlog=2000 sysctl net.ipv4.tcp_max_syn_backlog=2048