Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug:1787325] TLS/SSL access of GlusterFS mounts is slower than with no TLS/SSL enabled. #10

Open
amarts opened this issue Feb 23, 2020 · 1 comment

Comments

@amarts
Copy link
Owner

amarts commented Feb 23, 2020

bugzilla-URL: https://bugzilla.redhat.com/1787325
When we enable TLS/SSL on our data path we see a 50% performance hit in throughput.

Version-Release number of selected component (if applicable):

All glusterFS versions

How reproducible:

Every time.

Steps to Reproduce:

  1. Run read / write perf test(say DD), note results
  2. Enable TLS/SSL on the volume
  3. Re run perf tests, compare throughput.

Actual results:

50% perf hit

Expected results:

Minimal performance hit.

@amarts
Copy link
Owner Author

amarts commented Feb 23, 2020

[{'bug_id': 1787325,
'count': 1,
'creation_time': <DateTime '20200102T12:04:36' at 0x7f6ff6d31748>,
'creator': 'moagrawa',
'creator_id': 351498,
'id': 13488137,
'is_private': False,
'tags': [],
'text': 'When we enable TLS/SSL on our data path we see a 50% performance '
'hit in throughput.\n'
'\n'
'Version-Release number of selected component (if applicable):\n'
'\n'
'All glusterFS versions\n'
'\n'
'How reproducible:\n'
'\n'
'Every time.\n'
'\n'
'Steps to Reproduce:\n'
'1. Run read / write perf test(say DD), note results\n'
'2. Enable TLS/SSL on the volume\n'
'3. Re run perf tests, compare throughput.\n'
'\n'
'Actual results:\n'
'\n'
'50% perf hit\n'
'\n'
'Expected results:\n'
'\n'
'Minimal performance hit.',
'time': <DateTime '20200102T12:04:36' at 0x7f6ff6d31668>},
{'bug_id': 1787325,
'count': 2,
'creation_time': <DateTime '20200102T12:05:56' at 0x7f6ff6d31940>,
'creator': 'moagrawa',
'creator_id': 351498,
'id': 13488144,
'is_private': False,
'tags': [],
'text': 'After configuring AES128 cipher we have found performance is '
'improved around 20% so we are using AES128 as a default cipher '
'option.',
'time': <DateTime '20200102T12:05:56' at 0x7f6ff6d31860>},
{'bug_id': 1787325,
'count': 3,
'creation_time': <DateTime '20200102T12:09:12' at 0x7f6ff6d31b38>,
'creator': 'bugzilla-bot',
'creator_id': 399691,
'id': 13488153,
'is_private': False,
'tags': [],
'text': 'REVIEW: https://review.gluster.org/23952 (socket: Use AES128 cipher '
'in SSL if AES is supported by CPU) posted (#2) for review on master '
'by MOHIT AGRAWAL',
'time': <DateTime '20200102T12:09:12' at 0x7f6ff6d31a58>}]

amarts pushed a commit that referenced this issue Jun 22, 2020
Found with GCC UBsan:

rpcsvc.c:102:36: runtime error: passing zero to ctz(), which is not a valid argument
    #0 0x7fcd1ff6faa4 in rpcsvc_get_free_queue_index /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:102
    #1 0x7fcd1ff81e12 in rpcsvc_handle_rpc_call /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:837
    #2 0x7fcd1ff833ad in rpcsvc_notify /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:1000
    #3 0x7fcd1ff8829d in rpc_transport_notify /path/to/glusterfs/rpc/rpc-lib/src/rpc-transport.c:520
    #4 0x7fcd0dd72f16 in socket_event_poll_in_async /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2502
    #5 0x7fcd0dd8986a in gf_async ../../../../libglusterfs/src/glusterfs/async.h:189
    #6 0x7fcd0dd8986a in socket_event_poll_in /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2543
    #7 0x7fcd0dd8986a in socket_event_handler /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2934
    #8 0x7fcd0dd8986a in socket_event_handler /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2854
    #9 0x7fcd2048aff7 in event_dispatch_epoll_handler /path/to/glusterfs/libglusterfs/src/event-epoll.c:640
    #10 0x7fcd2048aff7 in event_dispatch_epoll_worker /path/to/glusterfs/libglusterfs/src/event-epoll.c:751
    ...

Fix, simplify, and prefer 'unsigned long' as underlying bitmap type.

Change-Id: If3f24dfe7bef8bc7a11a679366e219a73caeb9e4
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Fixes: #1283
amarts pushed a commit that referenced this issue Aug 12, 2020
Found with GCC UBsan:

rpcsvc.c:102:36: runtime error: passing zero to ctz(), which is not a valid argument
    #0 0x7fcd1ff6faa4 in rpcsvc_get_free_queue_index /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:102
    #1 0x7fcd1ff81e12 in rpcsvc_handle_rpc_call /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:837
    #2 0x7fcd1ff833ad in rpcsvc_notify /path/to/glusterfs/rpc/rpc-lib/src/rpcsvc.c:1000
    #3 0x7fcd1ff8829d in rpc_transport_notify /path/to/glusterfs/rpc/rpc-lib/src/rpc-transport.c:520
    #4 0x7fcd0dd72f16 in socket_event_poll_in_async /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2502
    #5 0x7fcd0dd8986a in gf_async ../../../../libglusterfs/src/glusterfs/async.h:189
    #6 0x7fcd0dd8986a in socket_event_poll_in /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2543
    #7 0x7fcd0dd8986a in socket_event_handler /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2934
    #8 0x7fcd0dd8986a in socket_event_handler /path/to/glusterfs/rpc/rpc-transport/socket/src/socket.c:2854
    #9 0x7fcd2048aff7 in event_dispatch_epoll_handler /path/to/glusterfs/libglusterfs/src/event-epoll.c:640
    #10 0x7fcd2048aff7 in event_dispatch_epoll_worker /path/to/glusterfs/libglusterfs/src/event-epoll.c:751
    ...

Fix, simplify, and prefer 'unsigned long' as underlying bitmap type.

Change-Id: If3f24dfe7bef8bc7a11a679366e219a73caeb9e4
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Fixes: #1283
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant