Hi Chris, On Thu, Feb 11, 2021 at 12:13 AM Christopher Schultz < ch...@christopherschultz.net> wrote:
> Martin, > > On 4/20/20 03:28, Martin Grigorov wrote: > > Hi Michael, > > > > On Sun, Apr 19, 2020 at 9:08 PM Michael Osipov <micha...@apache.org> > wrote: > > > >> Am 2020-04-19 um 19:51 schrieb Martin Grigorov: > >>> Hi Emilio, > >>> > >>> On Fri, Apr 17, 2020 at 2:14 PM Emilio Fernandes < > >>> emilio.fernande...@gmail.com> wrote: > >>> > >>>> Hola Tomcat community! > >>>> > >>>> We consider using AWS Graviton [1] based instances which use ARM64 > >>>> processors for our backend services. > >>>> I've googled around and found [2] saying that Tomcat is being tested > on > >>>> ARM64 architecture at TravisCI! This is great! > >>>> Does this mean that Tomcat is officially supported on ARM64 ? I was > not > >>>> able to find any specific documentation listing which platforms are > >>>> officially supported. > >>>> > >>>> Does anyone from the community have any experience with Tomcat/HTTPD > on > >>>> ARM64 in production ? > >>>> > >>> > >>> I work a lot with ARM64 servers lately! > >>> So far we didn't face any issue related to ARM64 & Tomcat in our > >>> application! > >>> I've introduced the testing on TravisCI that you have found. In > addition > >>> for my daily job we have created a nightly test setup: > >>> - build and test Tomcat 9.x (as at Travis) > >>> - run some smoke tests with our application > >>> - run some performance tests on x86_64 and ARM64 VMs with similar > >> hardware > >>> specs. The results for both architectures are very similar. One thing > >> that > >>> still bothers me is that the throughput on HTTPS is 3 times less than > >> HTTP. > >> > >> OpenSSL or SunJSSE? > >> > > > > Both. > > With OpenSSL it is slightly faster than with JSSE, but again around 3 > times > > slower than HTTP. > > > > Here are some details: > > Tomcat: 9.x nightly build > > tcnative: nightly build from master branch > > JDK: AdoptJDK 14 > > OpenSSL 1.1.1 11 Sep 2018 (this comes from Ubuntu 18.04 repos. I will > try > > with a newer build) > > JMeter: 5.2.1 > > The application is Spring Boot 2.2.6 with REST GET/PUT/POST/DELETE > > endpoints that simply sets/gets data to/from Memcached. No usage of > Spring > > Security! No redirects from HTTP to HTTPS! > > > > Let me know if you need more information! > > Coming back to this almost a year later. :) > Thanks for doing it! I've forgot to update this thread with the problem and the solution! > > My guess about the TLS performance is that your x86 chips have built-in > hardware support for crypto primitives used by the cipher suite(s) you > are testing, and your ARM64 chips do not. > > Either that, or neither OpenSSL nor Java are able to use those ARM64 > hardware features because they are not aware of them (yet, I would guess). > > You would have to get the specs of the chips to find out whether > hardware acceleration is even a possibility, and then approach the > crypto providers (e.g. Oracle, OpenSSL) with questions about how to > enable those hardware-supported routines. > At the end the problem was in Apache JMeter 5.2.1 - the tool I used for the load testing back then. As I expained here <https://martin-grigorov.medium.com/compare-apache-tomcat-performance-on-x86-64-and-arm64-cpu-architectures-aacfbb0b5bb6> one needs to add --jmeterproperty httpclient4.validate_after_inactivity=4900 and --jmeterproperty httpclient4.time_to_live=120000 to JMeter properties, otherwise it was closing the connection and due to the TLS handshakes it was giving terrible results. Those settings are default in JMeter 5.3.0+. Apart from that there is also https://github.com/kunpengcompute/KAE for HiSilicon/Kunpeng chips, to get even more from OpenSSL on this hardware. Martin > > -chris > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >