Merge lp:~mthaddon/charms/precise/swift-storage/workers-threads-per-disk into lp:~openstack-charmers-archive/charms/trusty/swift-storage/next

Proposed by James Page
Status: Rejected
Rejected by: Tom Haddon
Proposed branch: lp:~mthaddon/charms/precise/swift-storage/workers-threads-per-disk
Merge into: lp:~openstack-charmers-archive/charms/trusty/swift-storage/next
Diff against target: 90 lines (+30/-4)
5 files modified
config.yaml (+21/-1)
hooks/swift_storage_context.py (+5/-0)
templates/account-server.conf (+1/-1)
templates/container-server.conf (+1/-1)
templates/object-server.conf (+2/-1)
To merge this branch: bzr merge lp:~mthaddon/charms/precise/swift-storage/workers-threads-per-disk
Reviewer Review Type Date Requested Status
OpenStack Charmers Pending
Review via email: mp+223382@code.launchpad.net

This proposal supersedes a proposal from 2014-06-13.

Description of the change

Allow number of workers for object, container and account servers to be configurable, as well as object server threads per disk, per https://bugs.launchpad.net/charms/+source/swift-storage/+bug/1328136

To post a comment you must log in.
Revision history for this message
Tom Haddon (mthaddon) wrote :

Taking a different approach

Unmerged revisions

28. By Tom Haddon

Allow tuning of workers and threads per disk per LP#1328136

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'config.yaml'
2--- config.yaml 2012-12-19 23:09:13 +0000
3+++ config.yaml 2014-06-17 10:50:16 +0000
4@@ -49,4 +49,24 @@
5 default: 6002
6 type: int
7 description: Listening port of the swift-account-server.
8-
9+ object-server-workers:
10+ default: 2
11+ type: int
12+ description: Number of workers of the swift-object-server.
13+ container-server-workers:
14+ default: 2
15+ type: int
16+ description: Number of workers of the swift-container-server.
17+ account-server-workers:
18+ default: 2
19+ type: int
20+ description: Number of workers of the swift-account-server.
21+ object-server-threads-per-disk:
22+ default: 0
23+ type: int
24+ description: |
25+ Size of the per-disk thread pool used for performing disk I/O. The
26+ default of 0 means to not use a per-disk thread pool. It is
27+ recommended to keep this value small, as large values can result in
28+ high read latencies due to large queue depths. A good starting point
29+ is 4 threads per disk.
30
31=== modified file 'hooks/swift_storage_context.py'
32--- hooks/swift_storage_context.py 2013-08-16 20:38:32 +0000
33+++ hooks/swift_storage_context.py 2014-06-17 10:50:16 +0000
34@@ -66,5 +66,10 @@
35 'account_server_port': config('account-server-port'),
36 'container_server_port': config('container-server-port'),
37 'object_server_port': config('object-server-port'),
38+ 'account_server_workers': config('account-server-workers'),
39+ 'container_server_workers': config('container-server-workers'),
40+ 'object_server_workers': config('object-server-workers'),
41+ 'object_server_threads_per_disk': config(
42+ 'object-server-threads-per-disk'),
43 }
44 return ctxt
45
46=== modified file 'templates/account-server.conf'
47--- templates/account-server.conf 2013-09-30 13:29:32 +0000
48+++ templates/account-server.conf 2014-06-17 10:50:16 +0000
49@@ -1,7 +1,7 @@
50 [DEFAULT]
51 bind_ip = 0.0.0.0
52 bind_port = {{ account_server_port }}
53-workers = 2
54+workers = {{ account_server_workers }}
55
56 [pipeline:main]
57 pipeline = recon account-server
58
59=== modified file 'templates/container-server.conf'
60--- templates/container-server.conf 2014-04-02 12:49:56 +0000
61+++ templates/container-server.conf 2014-06-17 10:50:16 +0000
62@@ -1,7 +1,7 @@
63 [DEFAULT]
64 bind_ip = 0.0.0.0
65 bind_port = {{ container_server_port }}
66-workers = 2
67+workers = {{ container_server_workers }}
68
69 [pipeline:main]
70 pipeline = recon container-server
71
72=== modified file 'templates/object-server.conf'
73--- templates/object-server.conf 2013-09-30 13:29:32 +0000
74+++ templates/object-server.conf 2014-06-17 10:50:16 +0000
75@@ -1,7 +1,7 @@
76 [DEFAULT]
77 bind_ip = 0.0.0.0
78 bind_port = {{ object_server_port }}
79-workers = 2
80+workers = {{ object_server_workers }}
81
82 [pipeline:main]
83 pipeline = recon object-server
84@@ -12,6 +12,7 @@
85
86 [app:object-server]
87 use = egg:swift#object
88+threads_per_disk = {{ object_server_threads_per_disk }}
89
90 [object-replicator]
91

Subscribers

People subscribed via source and target branches