Re: TCP server app performance

2018-08-15 Thread Michio Honda




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

2018-08-12 Thread Michio Honda

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

2015-07-29 Thread Michio Honda
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

2013-05-27 Thread Michio Honda
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

2013-05-18 Thread Michio Honda
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