You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicecomb.apache.org by Zhang Lei <co...@gmail.com> on 2019/11/14 13:50:00 UTC

[Pack] Use Netty native transport improve performance

Hi, Pack Team

Netty provides native socket transport[1] for Linux and macOS, In order to
support it, I need to upgrade Netty to the new version. But there are some
problems[2] with the SSL test case after the upgrade.

Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see it
in this commit [3]

ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
same

So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
below.
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java


[1] https://netty.io/wiki/native-transports.html
[2] https://github.com/netty/netty/issues/9775
[3]
https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d


Best regards,
Lei Zhang

Re: [Pack] Use Netty native transport improve performance

Posted by Willem Jiang <wi...@gmail.com>.
I just check the document, the steps these ZhangLei lists are
installing the development environment for building the native support
code.
I just checked the code of epoll[1], those files are using Apache
License, so we are good to bind these artifacts into our release kit.

[1]https://github.com/netty/netty/tree/4.1/transport-native-epoll/src/main/c

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Thu, Nov 14, 2019 at 11:53 PM Zhang Lei <co...@gmail.com> wrote:
>
> I Just add two dependencies netty-transport-native-kqueue and
> netty-transport-native-epoll. Although these dependencies contain
> libnetty_transport_native_epoll_x86_64.so and
> libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
> License 2.0
>
> Other than release does not contain any native libraries, netty call native
> libraries from java jni, You need to install the native libraries on the
> operating system before you can use it.
>
> # RHEL/CentOS/Fedora:
> sudo yum install autoconf automake libtool make tar \
>                  glibc-devel libaio-devel \
>                  libgcc.i686 glibc-devel.i686
> # Debian/Ubuntu:
> sudo apt-get install autoconf automake libtool make tar \
>                      gcc-multilib libaio-dev
>
> # MacOS
> brew install autoconf automake libtool
>
> Also, I think I can enable native transport with configuration
> spring.profiles.active=native
>
> Best regards,
> Lei Zhang
>
> On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com) wrote:
>
> It looks good to and can you confirm which license these native libraries
> are using ? especially they are not the part of the netty core.
>
> Thanks,
> Zheng Feng
>
> Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:
>
> > Hi, Pack Team
> >
> > Netty provides native socket transport[1] for Linux and macOS, In order
> to
> > support it, I need to upgrade Netty to the new version. But there are
> some
> > problems[2] with the SSL test case after the upgrade.
> >
> > Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see
> it
> > in this commit [3]
> >
> > ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> > TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> > same
> >
> > So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> > below.
> >
> >
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
> >
> >
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
> >
> >
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
> >
> >
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
> >
> >
> > [1] https://netty.io/wiki/native-transports.html
> > [2] https://github.com/netty/netty/issues/9775
> > [3]
> >
> >
> https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
> >
> >
> > Best regards,
> > Lei Zhang
> >

Re: [Pack] Use Netty native transport improve performance

Posted by Zhang Lei <co...@gmail.com>.
Great, I will create a JIRA and send the PR


Best regards,
Lei Zhang

On November 15, 2019 at 2:55:20 PM, Willem Jiang (willem.jiang@gmail.com)
wrote:

checked the license, we are good to go :)

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Fri, Nov 15, 2019 at 2:07 PM Zheng Feng <zh...@gmail.com> wrote:
>
> Thanks a lot for sharing these information and it looks like a great
improvement.
>
> @Willem Jiang can we release the native libraries in the zip files ?
>
> Zhang Lei <co...@gmail.com> 于2019年11月15日周五 下午12:50写道:
>>
>> Optimize Alpha Performance Using Netty native transport and up to 40
>> percent for QPS
>>
>> Simulate sending 50,000 global transactions (one global transaction
>> contains 3 sub-transactions), The latest Alpha single node and single
>> client benchmark report is as follows:
>>
>> # Report 1
>> Warm Up 0
>> Concurrency Level 500
>> Time taken for tests 26 seconds
>> Complete requests 50000
>> Failed requests 0
>> Requests per second 1923 [#/sec]
>> Time per request 267 [ms]
>>
>> Percentage of the requests served within a certain time (ms)
>> 50% 257.03
>> 60% 256.42
>> 70% 243.55
>> 80% 268.67
>> 90% 270.88
>> 100% 263.72
>>
>> # Report 2
>> Warm Up 0
>> Concurrency Level 1000
>> Time taken for tests 27 seconds
>> Complete requests 50000
>> Failed requests 0
>> Requests per second 1851 [#/sec]
>> Time per request 552 [ms]
>>
>> Percentage of the requests served within a certain time (ms)
>> 50% 568.64
>> 60% 538.64
>> 70% 528.75
>> 80% 566.27
>> 90% 554.83
>> 100% 541.05
>>
>>
>> Best regards,
>> Lei Zhang
>>
>> On November 14, 2019 at 11:53:12 PM, Zhang Lei (coolbeevip@gmail.com)
wrote:
>>
>> I Just add two dependencies netty-transport-native-kqueue and
>> netty-transport-native-epoll. Although these dependencies contain
>> libnetty_transport_native_epoll_x86_64.so and
>> libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
>> License 2.0
>>
>> Other than release does not contain any native libraries, netty call
native
>> libraries from java jni, You need to install the native libraries on the
>> operating system before you can use it.
>>
>> # RHEL/CentOS/Fedora:
>> sudo yum install autoconf automake libtool make tar \
>> glibc-devel libaio-devel \
>> libgcc.i686 glibc-devel.i686
>> # Debian/Ubuntu:
>> sudo apt-get install autoconf automake libtool make tar \
>> gcc-multilib libaio-dev
>>
>> # MacOS
>> brew install autoconf automake libtool
>>
>> Also, I think I can enable native transport with configuration
>> spring.profiles.active=native
>>
>> Best regards,
>> Lei Zhang
>>
>> On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com)
wrote:
>>
>> It looks good to and can you confirm which license these native
libraries
>> are using ? especially they are not the part of the netty core.
>>
>> Thanks,
>> Zheng Feng
>>
>> Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:
>>
>> > Hi, Pack Team
>> >
>> > Netty provides native socket transport[1] for Linux and macOS, In
order to
>> > support it, I need to upgrade Netty to the new version. But there are
some
>> > problems[2] with the SSL test case after the upgrade.
>> >
>> > Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can
see
>> it
>> > in this commit [3]
>> >
>> > ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
>> > TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are
the
>> > same
>> >
>> > So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
>> > below.
>> >
>> >
>>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
>> >
>> >
>>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
>> >
>> >
>>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
>> >
>> >
>>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>> >
>> >
>> > [1] https://netty.io/wiki/native-transports.html
>> > [2] https://github.com/netty/netty/issues/9775
>> > [3]
>> >
>> >
>>
https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>> >
>> >
>> > Best regards,
>> > Lei Zhang
>> >

Re: [Pack] Use Netty native transport improve performance

Posted by Willem Jiang <wi...@gmail.com>.
checked the license, we are good to go :)

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Fri, Nov 15, 2019 at 2:07 PM Zheng Feng <zh...@gmail.com> wrote:
>
> Thanks a lot for sharing these information and it looks like a great improvement.
>
> @Willem Jiang can we release the native libraries in the zip files ?
>
> Zhang Lei <co...@gmail.com> 于2019年11月15日周五 下午12:50写道:
>>
>> Optimize Alpha Performance Using Netty native transport and up to 40
>> percent for QPS
>>
>> Simulate sending 50,000 global transactions (one global transaction
>> contains 3 sub-transactions), The latest Alpha single node and single
>> client benchmark report is as follows:
>>
>> # Report 1
>> Warm Up                   0
>> Concurrency Level         500
>> Time taken for tests      26 seconds
>> Complete requests         50000
>> Failed requests           0
>> Requests per second       1923 [#/sec]
>> Time per request          267 [ms]
>>
>> Percentage of the requests served within a certain time (ms)
>> 50%   257.03
>> 60%   256.42
>> 70%   243.55
>> 80%   268.67
>> 90%   270.88
>> 100%  263.72
>>
>> # Report 2
>> Warm Up                   0
>> Concurrency Level         1000
>> Time taken for tests      27 seconds
>> Complete requests         50000
>> Failed requests           0
>> Requests per second       1851 [#/sec]
>> Time per request          552 [ms]
>>
>> Percentage of the requests served within a certain time (ms)
>> 50%   568.64
>> 60%   538.64
>> 70%   528.75
>> 80%   566.27
>> 90%   554.83
>> 100%  541.05
>>
>>
>> Best regards,
>> Lei Zhang
>>
>> On November 14, 2019 at 11:53:12 PM, Zhang Lei (coolbeevip@gmail.com) wrote:
>>
>> I Just add two dependencies netty-transport-native-kqueue and
>> netty-transport-native-epoll. Although these dependencies contain
>> libnetty_transport_native_epoll_x86_64.so and
>> libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
>> License 2.0
>>
>> Other than release does not contain any native libraries, netty call native
>> libraries from java jni, You need to install the native libraries on the
>> operating system before you can use it.
>>
>> # RHEL/CentOS/Fedora:
>> sudo yum install autoconf automake libtool make tar \
>>                  glibc-devel libaio-devel \
>>                  libgcc.i686 glibc-devel.i686
>> # Debian/Ubuntu:
>> sudo apt-get install autoconf automake libtool make tar \
>>                      gcc-multilib libaio-dev
>>
>> # MacOS
>> brew install autoconf automake libtool
>>
>> Also, I think I can enable native transport with configuration
>> spring.profiles.active=native
>>
>> Best regards,
>> Lei Zhang
>>
>> On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com) wrote:
>>
>> It looks good to and can you confirm which license these native libraries
>> are using ? especially they are not the part of the netty core.
>>
>> Thanks,
>> Zheng Feng
>>
>> Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:
>>
>> > Hi, Pack Team
>> >
>> > Netty provides native socket transport[1] for Linux and macOS, In order to
>> > support it, I need to upgrade Netty to the new version. But there are some
>> > problems[2] with the SSL test case after the upgrade.
>> >
>> > Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see
>> it
>> > in this commit [3]
>> >
>> > ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
>> > TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
>> > same
>> >
>> > So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
>> > below.
>> >
>> >
>> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
>> >
>> >
>> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
>> >
>> >
>> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
>> >
>> >
>> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>> >
>> >
>> > [1] https://netty.io/wiki/native-transports.html
>> > [2] https://github.com/netty/netty/issues/9775
>> > [3]
>> >
>> >
>> https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>> >
>> >
>> > Best regards,
>> > Lei Zhang
>> >

Re: [Pack] Use Netty native transport improve performance

Posted by Zheng Feng <zh...@gmail.com>.
Thanks a lot for sharing these information and it looks like a great
improvement.

@Willem Jiang <wi...@gmail.com> can we release the native libraries
in the zip files ?

Zhang Lei <co...@gmail.com> 于2019年11月15日周五 下午12:50写道:

> Optimize Alpha Performance Using Netty native transport and up to 40
> percent for QPS
>
> Simulate sending 50,000 global transactions (one global transaction
> contains 3 sub-transactions), The latest Alpha single node and single
> client benchmark report is as follows:
>
> # Report 1
> Warm Up                   0
> Concurrency Level         500
> Time taken for tests      26 seconds
> Complete requests         50000
> Failed requests           0
> Requests per second       1923 [#/sec]
> Time per request          267 [ms]
>
> Percentage of the requests served within a certain time (ms)
> 50%   257.03
> 60%   256.42
> 70%   243.55
> 80%   268.67
> 90%   270.88
> 100%  263.72
>
> # Report 2
> Warm Up                   0
> Concurrency Level         1000
> Time taken for tests      27 seconds
> Complete requests         50000
> Failed requests           0
> Requests per second       1851 [#/sec]
> Time per request          552 [ms]
>
> Percentage of the requests served within a certain time (ms)
> 50%   568.64
> 60%   538.64
> 70%   528.75
> 80%   566.27
> 90%   554.83
> 100%  541.05
>
>
> Best regards,
> Lei Zhang
>
> On November 14, 2019 at 11:53:12 PM, Zhang Lei (coolbeevip@gmail.com)
> wrote:
>
> I Just add two dependencies netty-transport-native-kqueue and
> netty-transport-native-epoll. Although these dependencies contain
> libnetty_transport_native_epoll_x86_64.so and
> libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
> License 2.0
>
> Other than release does not contain any native libraries, netty call native
> libraries from java jni, You need to install the native libraries on the
> operating system before you can use it.
>
> # RHEL/CentOS/Fedora:
> sudo yum install autoconf automake libtool make tar \
>                  glibc-devel libaio-devel \
>                  libgcc.i686 glibc-devel.i686
> # Debian/Ubuntu:
> sudo apt-get install autoconf automake libtool make tar \
>                      gcc-multilib libaio-dev
>
> # MacOS
> brew install autoconf automake libtool
>
> Also, I think I can enable native transport with configuration
> spring.profiles.active=native
>
> Best regards,
> Lei Zhang
>
> On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com) wrote:
>
> It looks good to and can you confirm which license these native libraries
> are using ? especially they are not the part of the netty core.
>
> Thanks,
> Zheng Feng
>
> Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:
>
> > Hi, Pack Team
> >
> > Netty provides native socket transport[1] for Linux and macOS, In order
> to
> > support it, I need to upgrade Netty to the new version. But there are
> some
> > problems[2] with the SSL test case after the upgrade.
> >
> > Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see
> it
> > in this commit [3]
> >
> > ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> > TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> > same
> >
> > So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> > below.
> >
> >
>
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
> >
> >
>
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
> >
> >
>
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
> >
> >
>
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
> >
> >
> > [1] https://netty.io/wiki/native-transports.html
> > [2] https://github.com/netty/netty/issues/9775
> > [3]
> >
> >
>
> https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
> >
> >
> > Best regards,
> > Lei Zhang
> >
>

Re: [Pack] Use Netty native transport improve performance

Posted by Zhang Lei <co...@gmail.com>.
Optimize Alpha Performance Using Netty native transport and up to 40
percent for QPS

Simulate sending 50,000 global transactions (one global transaction
contains 3 sub-transactions), The latest Alpha single node and single
client benchmark report is as follows:

# Report 1
Warm Up                   0
Concurrency Level         500
Time taken for tests      26 seconds
Complete requests         50000
Failed requests           0
Requests per second       1923 [#/sec]
Time per request          267 [ms]

Percentage of the requests served within a certain time (ms)
50%   257.03
60%   256.42
70%   243.55
80%   268.67
90%   270.88
100%  263.72

# Report 2
Warm Up                   0
Concurrency Level         1000
Time taken for tests      27 seconds
Complete requests         50000
Failed requests           0
Requests per second       1851 [#/sec]
Time per request          552 [ms]

Percentage of the requests served within a certain time (ms)
50%   568.64
60%   538.64
70%   528.75
80%   566.27
90%   554.83
100%  541.05


Best regards,
Lei Zhang

On November 14, 2019 at 11:53:12 PM, Zhang Lei (coolbeevip@gmail.com) wrote:

I Just add two dependencies netty-transport-native-kqueue and
netty-transport-native-epoll. Although these dependencies contain
libnetty_transport_native_epoll_x86_64.so and
libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
License 2.0

Other than release does not contain any native libraries, netty call native
libraries from java jni, You need to install the native libraries on the
operating system before you can use it.

# RHEL/CentOS/Fedora:
sudo yum install autoconf automake libtool make tar \
                 glibc-devel libaio-devel \
                 libgcc.i686 glibc-devel.i686
# Debian/Ubuntu:
sudo apt-get install autoconf automake libtool make tar \
                     gcc-multilib libaio-dev

# MacOS
brew install autoconf automake libtool

Also, I think I can enable native transport with configuration
spring.profiles.active=native

Best regards,
Lei Zhang

On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com) wrote:

It looks good to and can you confirm which license these native libraries
are using ? especially they are not the part of the netty core.

Thanks,
Zheng Feng

Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:

> Hi, Pack Team
>
> Netty provides native socket transport[1] for Linux and macOS, In order to
> support it, I need to upgrade Netty to the new version. But there are some
> problems[2] with the SSL test case after the upgrade.
>
> Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see
it
> in this commit [3]
>
> ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> same
>
> So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> below.
>
>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
>
>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
>
>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
>
>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>
>
> [1] https://netty.io/wiki/native-transports.html
> [2] https://github.com/netty/netty/issues/9775
> [3]
>
>
https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>
>
> Best regards,
> Lei Zhang
>

Re: [Pack] Use Netty native transport improve performance

Posted by Zhang Lei <co...@gmail.com>.
I Just add two dependencies netty-transport-native-kqueue and
netty-transport-native-epoll. Although these dependencies contain
libnetty_transport_native_epoll_x86_64.so and
libnetty_transport_native_kqueue_x86_64.jnilib files but they use Apache
License 2.0

Other than release does not contain any native libraries, netty call native
libraries from java jni, You need to install the native libraries on the
operating system before you can use it.

# RHEL/CentOS/Fedora:
sudo yum install autoconf automake libtool make tar \
                 glibc-devel libaio-devel \
                 libgcc.i686 glibc-devel.i686
# Debian/Ubuntu:
sudo apt-get install autoconf automake libtool make tar \
                     gcc-multilib libaio-dev

# MacOS
brew install autoconf automake libtool

Also, I think I can enable native transport with configuration
spring.profiles.active=native

Best regards,
Lei Zhang

On November 14, 2019 at 10:04:04 PM, Zheng Feng (zh.feng@gmail.com) wrote:

It looks good to and can you confirm which license these native libraries
are using ? especially they are not the part of the netty core.

Thanks,
Zheng Feng

Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:

> Hi, Pack Team
>
> Netty provides native socket transport[1] for Linux and macOS, In order
to
> support it, I need to upgrade Netty to the new version. But there are
some
> problems[2] with the SSL test case after the upgrade.
>
> Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see
it
> in this commit [3]
>
> ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> same
>
> So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> below.
>
>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
>
>
https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
>
>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
>
>
https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>
>
> [1] https://netty.io/wiki/native-transports.html
> [2] https://github.com/netty/netty/issues/9775
> [3]
>
>
https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>
>
> Best regards,
> Lei Zhang
>

Re: [Pack] Use Netty native transport improve performance

Posted by Zheng Feng <zh...@gmail.com>.
It looks good to and can you confirm which license these native libraries
are using ? especially they are not the part of the netty core.

Thanks,
Zheng Feng

Zhang Lei <co...@gmail.com> 于2019年11月14日周四 下午9:50写道:

> Hi, Pack Team
>
> Netty provides native socket transport[1] for Linux and macOS, In order to
> support it, I need to upgrade Netty to the new version. But there are some
> problems[2] with the SSL test case after the upgrade.
>
> Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see it
> in this commit [3]
>
> ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> same
>
> So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> below.
>
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
>
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
>
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
>
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>
>
> [1] https://netty.io/wiki/native-transports.html
> [2] https://github.com/netty/netty/issues/9775
> [3]
>
> https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>
>
> Best regards,
> Lei Zhang
>

Re: [Pack] Use Netty native transport improve performance

Posted by Willem Jiang <wi...@gmail.com>.
The ssl.properties should be configurable from user perspective.
I don't think put those files into the resources to release is best practices.
Please go ahead remove it by adding the issue link of netty.

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Thu, Nov 14, 2019 at 9:50 PM Zhang Lei <co...@gmail.com> wrote:
>
> Hi, Pack Team
>
> Netty provides native socket transport[1] for Linux and macOS, In order to
> support it, I need to upgrade Netty to the new version. But there are some
> problems[2] with the SSL test case after the upgrade.
>
> Boringssl does not support cipher ECDHE-ECDSA-AES128-SHA256, You can see it
> in this commit [3]
>
> ECDHE-ECDSA-AES128-SHA256 is openssl cipher name and
> TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 is RFC cipher name, they are the
> same
>
> So I recommend removing cipher ECDHE-ECDSA-AES128-SHA256 from the file
> below.
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/main/resources/ssl.properties
> https://github.com/apache/servicecomb-pack/blob/master/omega/omega-connector/omega-connector-grpc/src/test/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/SagaLoadBalanceSenderWithTLSTest.java
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/main/resources/ssl.properties
> https://github.com/apache/servicecomb-pack/blob/master/alpha/alpha-server/src/test/java/org/apache/servicecomb/pack/alpha/server/AlphaIntegrationWithSSLTest.java
>
>
> [1] https://netty.io/wiki/native-transports.html
> [2] https://github.com/netty/netty/issues/9775
> [3]
> https://github.com/google/boringssl/commit/6e678eeb6e76171712ae00d467321b6fe196152d
>
>
> Best regards,
> Lei Zhang