On Thu, Jan 10, 2013 at 10:18:44AM +0200, Pasi Kärkkäinen wrote:
> On Thu, Jan 10, 2013 at 01:11:15AM +0100, Willy Tarreau wrote:
> > On Thu, Jan 10, 2013 at 12:49:19AM +0100, Lukas Tribus wrote:
> > > 
> > > > Interesting. Are these implementations still in use ? This seems more
> > > > like early experimentations than definitive releases to me. I don't
> > > > know if such versions were shipped in any LTS distro, so most likely
> > > > they'll quickly disappear. Am I wrong ?
> > > 
> > > Looks like you are correct. In openssl 1.0.1 there is no aesni engine
> > > (needed) anymore. See:
> > > [1] https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1001424
> > > [2] http://cvs.openssl.org/chngview?cn=21519
> > 
> > Oh I'm certain about this one because this is the one we use in the
> > Aloha and we achieve 5 Gbps of HTTPS per CPU core in AES256 :-)
> > 
> > What I don't know is if the older versions are still in use nor for how
> > long.
> > 
> 
> EL6 has OpenSSL 1.0.0,

Interesting, maybe they backported the aes-ni work from 1.0.1 ?
This can be tested with "openssl speed -evp aes128". Here on my
machine (no aes-ni), you can see that performance is not huge :

Doing aes-128-cbc for 3s on 16 size blocks: 14588298 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 64 size blocks: 6012712 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 1798955 aes-128-cbc's in 2.98s
Doing aes-128-cbc for 3s on 1024 size blocks: 473059 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 59968 aes-128-cbc's in 2.98s
...
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc      78326.43k   128271.19k   154541.10k   161470.81k   164851.63k

With aes-ni enabled I'd get 4-10 times this.

Running "openssl engine" will show the available engines :

$ openssl engine
(padlock) VIA PadLock (no-RNG, no-ACE)
(dynamic) Dynamic engine loading support

If you restart the test above adding "-engine XXX" (where XXX is the engine
name), you'll see if you get different numbers (eg: -engine aesni). If the
engine significantly improves performance, then we need to support it. If it
does not, it means the base code has the aes-ni patches backported.

> but dunno if a minor version difference has any change in behaviour.

Yes it does, because I think it was merged in 1.0.1.

Regards,
Willy


Reply via email to