Remove threads_per_disk setting
This patch removes the threads_per_disk setting. It was already a deprecated setting and by default set to 0, which effectively meant to not use a per-disk thread pool at all. Users are encouraged to use servers_per_port instead. DocImpact Change-Id: Ie76be5c8a74d60a1330627caace19e06d1b9383c
This commit is contained in:
parent
44d1c227de
commit
9d6a055b31
@ -88,10 +88,9 @@ The default is 86400.
|
||||
.IP \fBexpiring_objects_account_name\fR
|
||||
The default is 'expiring_objects'.
|
||||
.IP \fBservers_per_port\fR
|
||||
Make object-server run this many worker processes per unique port of
|
||||
"local" ring devices across all storage policies. This can help provide
|
||||
the isolation of threads_per_disk without the severe overhead. The default
|
||||
value of 0 disables this feature.
|
||||
Make object-server run this many worker processes per unique port of "local"
|
||||
ring devices across all storage policies. The default value of 0 disables this
|
||||
feature.
|
||||
.IP \fBlog_name\fR
|
||||
Label used when logging. The default is swift.
|
||||
.IP \fBlog_facility\fR
|
||||
|
@ -151,11 +151,6 @@ service a request for any disk, and a slow I/O request blocks the eventlet hub,
|
||||
a single slow disk can impair an entire storage node. This also prevents
|
||||
object servers from fully utilizing all their disks during heavy load.
|
||||
|
||||
The :ref:`threads_per_disk <object-server-options>` option was one way to
|
||||
address this, but came with severe performance overhead which was worse
|
||||
than the benefit of I/O isolation. Any clusters using threads_per_disk should
|
||||
switch to using `servers_per_port`.
|
||||
|
||||
Another way to get full I/O isolation is to give each disk on a storage node a
|
||||
different port in the storage policy rings. Then set the
|
||||
:ref:`servers_per_port <object-server-default-options>`
|
||||
@ -547,15 +542,6 @@ allowed_headers Content-Disposition, Comma separated list of he
|
||||
X-Static-Large-Object Content-Type, etag, Content-Length, or deleted
|
||||
auto_create_account_prefix . Prefix used when automatically
|
||||
creating accounts.
|
||||
threads_per_disk 0 Size of the per-disk thread pool
|
||||
used for performing disk I/O. The
|
||||
default of 0 means to not use a
|
||||
per-disk thread pool.
|
||||
This option is no longer
|
||||
recommended and the
|
||||
:ref:`servers_per_port
|
||||
<server-per-port-configuration>`
|
||||
should be used instead.
|
||||
replication_server Configure parameter for creating
|
||||
specific server. To handle all verbs,
|
||||
including replication verbs, do not
|
||||
|
@ -16,10 +16,9 @@ bind_port = 6000
|
||||
# ignored.
|
||||
# workers = auto
|
||||
#
|
||||
# Make object-server run this many worker processes per unique port of
|
||||
# "local" ring devices across all storage policies. This can help provide
|
||||
# the isolation of threads_per_disk without the severe overhead. The default
|
||||
# value of 0 disables this feature.
|
||||
# Make object-server run this many worker processes per unique port of "local"
|
||||
# ring devices across all storage policies. The default value of 0 disables this
|
||||
# feature.
|
||||
# servers_per_port = 0
|
||||
#
|
||||
# Maximum concurrent requests per worker
|
||||
@ -106,10 +105,6 @@ use = egg:swift#object
|
||||
#
|
||||
# auto_create_account_prefix = .
|
||||
#
|
||||
# A value of 0 means "don't use thread pools". A reasonable starting point is
|
||||
# 4.
|
||||
# threads_per_disk = 0
|
||||
#
|
||||
# Configure parameter for creating specific server
|
||||
# To handle all verbs, including replication verbs, do not specify
|
||||
# "replication_server" (this is the default). To only handle replication,
|
||||
|
@ -55,7 +55,7 @@ WARNING_WAIT = 3 # seconds to wait after message that may just be a warning
|
||||
|
||||
MAX_DESCRIPTORS = 32768
|
||||
MAX_MEMORY = (1024 * 1024 * 1024) * 2 # 2 GB
|
||||
MAX_PROCS = 8192 # workers * disks * threads_per_disk, can get high
|
||||
MAX_PROCS = 8192 # workers * disks, can get high
|
||||
|
||||
|
||||
def setup_env():
|
||||
|
@ -536,9 +536,7 @@ class BaseDiskFileManager(object):
|
||||
conf.get('replication_one_per_device', 'true'))
|
||||
self.replication_lock_timeout = int(conf.get(
|
||||
'replication_lock_timeout', 15))
|
||||
threads_per_disk = int(conf.get('threads_per_disk', '0'))
|
||||
self.threadpools = defaultdict(
|
||||
lambda: ThreadPool(nthreads=threads_per_disk))
|
||||
self.threadpools = defaultdict(lambda: ThreadPool(nthreads=0))
|
||||
|
||||
self.use_splice = False
|
||||
self.pipe_size = None
|
||||
|
Loading…
x
Reference in New Issue
Block a user