Bug 904629

Summary: Concurrent requests of large objects (GET/PUT) can be starved by small object requests
Product: [Community] Gluster-Swift Reporter: Peter Portante <pportant>
Component: Proxy-serverAssignee: Michael Adam <madam>
Status: ASSIGNED --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 0.1CC: bugs, madam, sankarshan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 903396, 978061    
Attachments:
Description Flags
Timing data for transfers for concurrent clients. none

Description Peter Portante 2013-01-26 10:44:05 EST
Created attachment 688070 [details]
Timing data for transfers for concurrent clients.

The default *_chunk_size parameters for proxy and object servers is 64 KB. Recent testing seems to favor small requests with that setting. However, when that value is raise to around 2.6MB, large objects transfer at a more reasonable rate, while small objects begin being penalized.

This is an indication that potential blocking file system operations on one request are starving other requests. When the setting is low, 64 KB, the small requests are serviced at speed, but because of the shear number of them, the large requests are not given the bandwidth necessary for speedy transfers. When the settings are higher, 2.6 MB, large transfers potentially block filling chuck_size'd buffers causing small requests to be starved.
Comment 1 Anand Avati 2013-04-07 22:27:11 EDT
REVIEW: http://review.gluster.org/4789 (object-storage: provide more common cfg defaults) posted (#1) for review on master by Mohammed Junaid (junaid@redhat.com)
Comment 2 Anand Avati 2013-04-12 03:07:21 EDT
REVIEW: http://review.gluster.org/4789 (object-storage: provide more common cfg defaults) posted (#2) for review on master by Mohammed Junaid (junaid@redhat.com)
Comment 3 Anand Avati 2013-04-12 03:08:34 EDT
REVIEW: http://review.gluster.org/4808 (object-storage: Renamed 1.conf files to there corresponding server.conf.) posted (#1) for review on master by Mohammed Junaid (junaid@redhat.com)
Comment 4 Anand Avati 2013-04-12 16:50:14 EDT
COMMIT: http://review.gluster.org/4789 committed in master by Anand Avati (avati@redhat.com) 
------
commit 6d6205ede5e90a919d082b4413055d684114253a
Author: Mohammed Junaid <junaid@redhat.com>
Date:   Fri Apr 12 06:41:29 2013 +0530

    object-storage: provide more common cfg defaults
    
    Provide more common configuration defaults, as seen and recommended across
    many large customer installations, as well as provide some guidance on how to
    set the parameters.
    
    See BZ 904629 (https://bugzilla.redhat.com/show_bug.cgi?id=904629).
    
    Change-Id: Id9f20aafd75f2a0b589c67654dce87534bf80c33
    BUG: 904629
    Signed-off-by: Mohammed Junaid <junaid@redhat.com>
    Reviewed-on: http://review.gluster.org/4789
    Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
    Reviewed-by: Anand Avati <avati@redhat.com>
Comment 5 Anand Avati 2013-04-19 14:17:15 EDT
REVIEW: http://review.gluster.org/4808 (object-storage: Renamed 1.conf files to there corresponding server-name.conf.) posted (#2) for review on master by Mohammed Junaid (junaid@redhat.com)