Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 681279

Summary: excessive per-connection memory
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Kim van der Riet <kim.vdriet>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 1.3CC: esammons, freznice, jneedle, jross
Target Milestone: 2.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-mrg-0.9.1079953 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-06-23 15:43:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch to reduce the number of buffers created on the client none

Description Gordon Sim 2011-03-01 16:08:18 UTC
TCPConnector allocates 32 buffers of 64k each which is probably excessive and should be reduced (perhaps made configurable?).

Comment 1 Gordon Sim 2011-03-01 16:21:42 UTC
4 is probably a good place to start (see line 120 of TCPConnector.cpp)

Comment 2 Gordon Sim 2011-03-01 17:41:08 UTC
Created attachment 481690 [details]
patch to reduce the number of buffers created on the client

Comment 3 Gordon Sim 2011-03-01 17:53:06 UTC
Kim, could you verify whether or not the attached patch has any negative impact on some perftest runs?

Comment 4 Kim van der Riet 2011-03-01 21:37:09 UTC
Test on mrg42; RHEL-6; In-tree build of r.1072197/r.4440 (+ patch).

Broker:
./qpidd --auth no --log-enable info+

Client:
for f in 1 2 3 4 5; do ./qpid-perftest --mode shared --summary --qt 4 --npubs 4 --nsubs 4; done

Results before change:
10661.6	8534.17	227919	222.577
8439.52	8425.63	268624	262.328
10598.1	8467.45	225589	220.302
8420.7	8415.94	267710	261.436
8369.25	8354.81	266677	260.427

Results after change:
8513.25	8498.17	269888	263.562
8479.66	8477.36	268835	262.534
10647.2	8516.59	228754	223.393
8425.3	8413.05	266922	260.666
10683.7	8503.88	227678	222.341


Client:
for f in 1 2 3 4 5; do ./qpid-perftest --mode topic --summary --npubs 2 --nsubs 10; done

Results before change:
6882.55	13735.5	151231	147.687
7037.34	14051.4	154701	151.075
7125.92	14201.4	156371	152.706
7050.94	14056.7	154783	151.155
7307.85	14588.1	160618	156.854

Results after change:
6975.15	13894.9	152977	149.392
7041.73	14048	154672	151.046
7152.87	14253	156912	153.235
7288.23	14530.9	160001	156.251
7120.31	14205.2	156423	152.757


These look almost identical

Comment 5 Gordon Sim 2011-03-02 13:15:47 UTC
Thanks Kim! Committed that patch upstream as r1076205.

Comment 7 Frantisek Reznicek 2011-05-02 11:31:49 UTC
The issue has been fixed (by reduction of number of TCPConnector's buffers), tested on RHEL 5.6 6.1s5 i[36]86 / x86_64 on packages:
python-qpid-0.10-1.el5.noarch
python-qpid-qmf-0.10-6.el5.x86_64
qpid-cpp-client-0.10-4.el5.x86_64
qpid-cpp-client-devel-0.10-4.el5.x86_64
qpid-cpp-client-devel-docs-0.10-4.el5.x86_64
qpid-cpp-client-rdma-0.10-4.el5.x86_64
qpid-cpp-client-ssl-0.10-4.el5.x86_64
qpid-cpp-mrg-debuginfo-0.10-4.el5.x86_64
qpid-cpp-server-0.10-4.el5.x86_64
qpid-cpp-server-cluster-0.10-4.el5.x86_64
qpid-cpp-server-devel-0.10-4.el5.x86_64
qpid-cpp-server-rdma-0.10-4.el5.x86_64
qpid-cpp-server-ssl-0.10-4.el5.x86_64
qpid-cpp-server-store-0.10-4.el5.x86_64
qpid-cpp-server-xml-0.10-4.el5.x86_64
qpid-dotnet-0.4.738274-2.el5.x86_64
qpid-java-client-0.10-4.el5.noarch
qpid-java-common-0.10-4.el5.noarch
qpid-java-example-0.10-4.el5.noarch
qpid-qmf-0.10-6.el5.x86_64
qpid-qmf-debuginfo-0.10-6.el5.x86_64
qpid-qmf-devel-0.10-6.el5.x86_64
qpid-tests-0.10-1.el5.noarch
qpid-tools-0.10-4.el5.noarch
rh-qpid-cpp-tests-0.10-4.el5.x86_64
ruby-qpid-qmf-0.10-6.el5.x86_64
sesame-0.10-1.el5.x86_64
sesame-debuginfo-0.10-1.el5.x86_64

-> VERIFIED

Comment 8 Frantisek Reznicek 2011-05-02 11:48:03 UTC
There is seen quite difference between memory consumption on RHEL 6.1 x86_64 and the others, raised as separate bug 701269.

Comment 9 errata-xmlrpc 2011-06-23 15:43:50 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0890.html