Bug 680192

Summary: queue flow control performance impact
Product: Red Hat Enterprise MRG Reporter: Ken Giusti <kgiusti>
Component: qpid-cppAssignee: Ken Giusti <kgiusti>
Status: CLOSED CURRENTRELEASE QA Contact: ppecka <ppecka>
Severity: high Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: freznice, gsim, ppecka
Target Milestone: 2.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-server-0.9.1079953-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
spreadsheet showing test and results. none

Description Ken Giusti 2011-02-24 15:56:12 UTC
Created attachment 480790 [details]
spreadsheet showing test and results.

Description of problem:

It looks like the presence of flow control has no impact when it is disabled (to be expected) but with flow control on I see about a 10% loss in thruput even though there's no actual flow control happening in this scenario. 

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

How reproducible:
100%

Steps to Reproduce:
1. use qpid-cpp-benchmark - see attached spreadsheet.
2.
3.
  
Actual results:
10% loss in thruput when flow control configured, but thresholds not hit.

Expected results:
Negligible thruput loss would be expected.


Additional info:

Comment 1 Ken Giusti 2011-03-08 15:09:00 UTC
A fix has been submitted on trunk upstream:

http://svn.apache.org/viewvc?view=revision&revision=1079385

Comment 2 Ken Giusti 2011-03-09 17:03:36 UTC
merged to upstream 0.10 branch:

http://svn.apache.org/viewvc?view=revision&revision=1079864

Comment 3 ppecka 2011-06-13 14:20:31 UTC
Verified on RHEL 5/6 - i686 / x86_64
Tested with 100 runs per arch. Max 0,02 troughput difference observed, with latest packages.

# rpm -qa | grep qpid
python-qpid-0.10-1.el5.noarch
qpid-cpp-client-0.10-8.el5.i386
qpid-cpp-client-ssl-0.10-8.el5.i386
qpid-java-jca-0.10-6.el5.noarch
qpid-cpp-mrg-debuginfo-0.10-7.el5.i386
qpid-qmf-devel-0.10-10.el5.i386
qpid-java-client-0.10-6.el5.noarch
qpid-qmf-0.10-10.el5.i386
qpid-cpp-client-devel-0.10-8.el5.i386
qpid-cpp-server-xml-0.10-8.el5.i386
qpid-cpp-server-cluster-0.10-8.el5.i386
qpid-tools-0.10-6.el5.noarch
rh-qpid-cpp-tests-0.10-8.el5.i386
qpid-java-example-0.10-6.el5.noarch
qpid-cpp-client-devel-docs-0.10-8.el5.i386
python-qpid-qmf-0.10-10.el5.i386
qpid-cpp-server-store-0.10-8.el5.i386
qpid-cpp-server-devel-0.10-8.el5.i386
qpid-qmf-debuginfo-0.10-10.el5.i386
qpid-dotnet-0.4.738274-2.el5.i386
qpid-java-common-0.10-6.el5.noarch
qpid-cpp-server-0.10-8.el5.i386
qpid-cpp-server-ssl-0.10-8.el5.i386

--> VERIFIED