RE: [EXTERNAL] Re: What throughput is reasonable?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David, I've gone dark for a week or two as project priorities have shifted and this has gone somewhat back-burner.

I did want to report a new finding we made last week, though:

I managed to score, for a limited amount of time, a rather underutilized host.  The host is identical in hardware configuration to the one I've been on this whole time, EXCEPT that it's 10G attached instead of 1G attached.  But we know from raw network iperf/netperf (with no VPN) that the network isn't the issue.

Since this host is barely utilized, it's zero CPU oversubscription, whereas our other cluster is maybe 7-8x CPU oversubscribed.

We saw that not only was the basic VPN (using the original EAGAIN-patched 8.02) faster by at least 20%, it was much more consistently faster.  This hints to me that the mere act of context-switching the VMs around might have some play here, and more guests sharing the host is factoring in.

It's important to note that we do NOT oversubscribed memory.  

Any chance that you could repeat YOUR tests on a more-densely-shared AWS instance, say like a t2.xlarge or c5.xlarge?



-----Original Message-----
From: David Woodhouse [mailto:dwmw2@xxxxxxxxxxxxx] 
Sent: Thursday, April 18, 2019 1:45 PM
To: Phillips, Tony; Nikos Mavrogiannopoulos
Cc: openconnect-devel@xxxxxxxxxxxxxxxxxxx; Kevin Cernekee
Subject: Re: [EXTERNAL] Re: What throughput is reasonable?

On Mon, 2019-04-15 at 21:22 +0100, David Woodhouse wrote:
> 
> > +    5.86%     0.23%  lt-openconnect  [kernel.vmlinux]         [k] sys_select
> > +    5.46%     0.28%  lt-openconnect  [kernel.vmlinux]         [k] core_sys_select
> > +    5.36%     0.95%  lt-openconnect  [kernel.vmlinux]         [k] do_select

5% of the time in select(). I think I blame Kevin for that one :)

Instead of handling the signals in the mainloop, we now have an extra
system call to poll the command fd in the mainloop.

Using the command fd to wake the mainloop if it was *already* in
select() makes sense, but I think we probably want to set the 
->got_cancel_cmd and ->got_pause_cmd flags directly from whatever
writes to the other end of that fd, so that the mainloop can "notice"
even when it's 100% busy and never otherwise hitting the normal
select().

We could even make it optional, so that a caller which *will* set those
flags directly, can set another flag to avoid the poll_cmd_fd() call.




_______________________________________________
openconnect-devel mailing list
openconnect-devel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/openconnect-devel



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux