Re: TCP server app performance
On 08/14/2018 09:30 PM, Navdeep Parhar wrote: On 8/12/18 9:50 AM, Honda Michio wrote: Hi, I'm measuring TCP server app performance using my toy web server. It just accept TCP connections and responds back HTTP OK to the clients. It monitors sockets using kqueue, and processes each ready descriptor using a pair of read() and write(). (in more detail, it's https://github.com/micchie/netmap/tree/paste/apps/phttpd) Using 100 persistent TCP connections (the client sends 44 B HTTP GET and the server responds with 151 B of HTTP OK) and a single CPU core, I only get 152K requests per second, which is 2.5x slower than Linux that runs the same app (except that it uses epoll instead of kqueue). I cannot justify this by myself. Does anybody has some intuition about how much FreeBSD would get with such workloads? I tried disabling TCP delayed ack and changing interrupt rates, but no significant difference was observed. I use FreeBSD-CURRENT with GENERIC-NODEBUG (git commit hash: 3015145c3aa4b). For hardware, the server has Xeon Silver 4110 and Intel X540 NIC (activate only a single queue as I test with a single CPU core). All the offloadings are disabled. I hope hw L3/L4 checksumming is still on? They are off but exchanged messages are too small to benefit from these offloads anyways. Are your results similar to what you get with 100 (same number as your test clients) netperf's doing TCP_RR on this setup, or wildly different? I cannot find any netperf option that sends multiple connections with TCP_RR. I also don't find any equivalent in iperf. But single-connection performance is similar to what I get with wrk and my HTTP server. Running 100 netperf processes does not show aggregate throughput, and that also means running 100 kevent() loops, which is quite different behaviour from what I want. Cheers, - Michio Regards, Navdeep ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: TCP server app performance
Hi Rozhuk, I only use a single CPU core and thread, so SO_REUSEPORT_LB has no effect. Also, I already accept() in loop until getting error, but this is not a point as I use persistent TCP connections... Cheers, - Michio On 08/12/2018 07:50 PM, Rozhuk Ivan wrote: On Sun, 12 Aug 2018 18:50:17 +0200 Honda Michio wrote: I'm measuring TCP server app performance using my toy web server. It just accept TCP connections and responds back HTTP OK to the clients. It monitors sockets using kqueue, and processes each ready descriptor using a pair of read() and write(). (in more detail, it's https://github.com/micchie/netmap/tree/paste/apps/phttpd) PS: 2. SO_REUSEPORT_LB ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Shutdown fails when there is an active kthread pinned to CPU core 0
Hi, When I create a kthread (kthread_add()) and pin it to CPU 0 (sched_bind() in the beginning of its worker function), shutdown (from the command line) is stuck on a message of Waiting (max 60 seconds) for system process `vnlru' to stop..”. If I pin it to CPU 1 there is no problem. I’m using FreeBSD CURRENT whose last commit is bf0aa3510005188e55285fbed43d93a34448e377 (on July 3rd). Do you have any idea to successfully shutdown the system while leaving a kthread pinned on CPU 0? (I have this problem in the process of implementing a polling kthread for VALE.) Cheers, - Michio ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Re: Changing CPU frequency for Xeon processors
Thanks Eric, in case of HP Proliant DL120 G7 server, BIOS's configuration needs to be OS Control Mode. The similar would apply to other systems. Cheers, - Michio On May 18, 2013, at 10:07 PM, Eric van Gyzen wrote: On 05/18/2013 10:09 AM, Michio Honda wrote: Hi, I'm trying to experiment with downclocking CPU. My environment is 10.0-CURRENT amd64. However, my CPU (Xeon E31220) seems not to be supported by the cpufreq module, thus dmesg shows: est0: Enhanced SpeedStep Frequency Control on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. As a result, although sysctl -a shows the list of available frequency values (dev.cpu.0.freq_levels: 3093/-1 2706/-1 2319/-1 1933/-1 1546/-1 1159/-1 773/-1 386/-1 dev.), I cannot set the value (the error message is sysctl: dev.cpu.0.freq=773: Device not configured). Do you have any idea to change CPU frequency for this CPU? In my experience, the not recognized message indicates that the feature is not enabled in the BIOS. Eric ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org
Changing CPU frequency for Xeon processors
Hi, I'm trying to experiment with downclocking CPU. My environment is 10.0-CURRENT amd64. However, my CPU (Xeon E31220) seems not to be supported by the cpufreq module, thus dmesg shows: est0: Enhanced SpeedStep Frequency Control on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. As a result, although sysctl -a shows the list of available frequency values (dev.cpu.0.freq_levels: 3093/-1 2706/-1 2319/-1 1933/-1 1546/-1 1159/-1 773/-1 386/-1 dev.), I cannot set the value (the error message is sysctl: dev.cpu.0.freq=773: Device not configured). Do you have any idea to change CPU frequency for this CPU? Cheers, - Michio ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org