Hi Emeric,

> On Apr 25, 2017, at 04:03, Emeric Brun <eb...@haproxy.com> wrote:
> 
> Hi Grant,
> 
> On 04/10/2017 05:16 PM, Grant Zhang wrote:
>> 
>>> On Apr 10, 2017, at 07:42, Emeric Brun <eb...@haproxy.com> wrote:
>>> 
>> 
>>>> * openssl version (1.1.0b-e?)
>>> compiled 1.1.0e
>>>> 
>>>> 
>>> Could you provide patches rebased on current dev master branch?
>> I am kinda busy with other project but will try to provide rebased patches 
>> this week.
>> 
>> Thanks, 
>> 
>> Grant
>> 
> 
> I've made a POC of a soft async engine. Based on dasync engine it launchs a 
> thread on priv_rsa_enc to spread the load on multiple cores.
> 
> Regarding openssl s_server it is efficient and scale very well depending the 
> number of core (1700 rsa2048/s on one core, 7400 on 4 cores)
> 
> But using haproxy i'm still facing the same issue. There is a poor scale as 
> for qat. If i check a top, i see that haproxy uses 100% of one core
> and some of the time 80% of an other but for a very short period.
Does this occur with single haproxy process(nproc=1) and you see haproxy 
process bounce between cores? Or you see haproxy occupying one core and 
occasionally use 80% of another core?

> 
> In my opinion, there is very few parallelized jobs. I hope a clean rebase 
> will fix the issue.
Sorry for the delay. Attached is the rebased patches, on top of the latest git 
head:
http://git.haproxy.org/?p=haproxy.git;a=commit;h=013a84fe939cf393fbcf8deb9b4504941d382777

Wrt scaling, my use case is mainly for offloading the cpu load during 
handshake, and as such spreading over multiple cores is not desirable. I've 
tried increasing nproc for scale out purpose. nproc(6 to 8) gives me the max 
connection rate until it hits the hw limit of the qat card. The connection rate 
increase (close to) linearly with the number of processes.

> 
> On haproxy conn/s side:
> native ssl: 1200 conn/s
Which cipher do you use for testing? For me I use ECDHE-RSA-AES128-GCM-SHA256 
and I see about 500 conn/s. For some other cipher I see a bit higher number(e.g 
AES128-SHA256 550 conn/s), but haven't seen 1200conn/s. Not sure whether cpu/hw 
makes such a big difference.

> qat+async: 1700 conn/s
I see about 2000 conn/s per core, so not much different than your number.

Thanks,

Grant

Attachment: 0001-ssl-add-basic-support-for-OpenSSL-crypto-engine.patch
Description: Binary data

Attachment: 0002-RFC-add-openssl-async-support.patch
Description: Binary data



Reply via email to