mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-29 01:44:36 -04:00
parent
b6ae7fbadb
commit
00fcf4d560
5 changed files with 9 additions and 9 deletions
|
@ -40,7 +40,7 @@ second. It can be set by setting `indices.store.throttle.type` to
|
||||||
`merge`, and setting `indices.store.throttle.max_bytes_per_sec` to
|
`merge`, and setting `indices.store.throttle.max_bytes_per_sec` to
|
||||||
something like `5mb`. The node level settings can be changed dynamically
|
something like `5mb`. The node level settings can be changed dynamically
|
||||||
using the cluster update settings API. The default is set
|
using the cluster update settings API. The default is set
|
||||||
to `50mb` with type `merge`.
|
to `20mb` with type `merge`.
|
||||||
|
|
||||||
If specific index level configuration is needed, regardless of the node
|
If specific index level configuration is needed, regardless of the node
|
||||||
level settings, it can be set as well using the
|
level settings, it can be set as well using the
|
||||||
|
|
|
@ -59,7 +59,7 @@ The following settings can be set to manage the recovery policy:
|
||||||
defaults to `true`.
|
defaults to `true`.
|
||||||
|
|
||||||
`indices.recovery.max_bytes_per_sec`::
|
`indices.recovery.max_bytes_per_sec`::
|
||||||
defaults to `50mb`.
|
defaults to `20mb`.
|
||||||
|
|
||||||
[float]
|
[float]
|
||||||
[[throttling]]
|
[[throttling]]
|
||||||
|
@ -72,5 +72,5 @@ The following settings can be set to control the store throttling:
|
||||||
could be `merge` (default), `none` or `all`. See <<index-modules-store>>.
|
could be `merge` (default), `none` or `all`. See <<index-modules-store>>.
|
||||||
|
|
||||||
`indices.store.throttle.max_bytes_per_sec`::
|
`indices.store.throttle.max_bytes_per_sec`::
|
||||||
defaults to `50mb`.
|
defaults to `20mb`.
|
||||||
|
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class RecoverySettings extends AbstractComponent {
|
||||||
this.concurrentSmallFileStreams = componentSettings.getAsInt("concurrent_small_file_streams", settings.getAsInt("index.shard.recovery.concurrent_small_file_streams", 2));
|
this.concurrentSmallFileStreams = componentSettings.getAsInt("concurrent_small_file_streams", settings.getAsInt("index.shard.recovery.concurrent_small_file_streams", 2));
|
||||||
this.concurrentSmallFileStreamPool = EsExecutors.newScaling(0, concurrentSmallFileStreams, 60, TimeUnit.SECONDS, EsExecutors.daemonThreadFactory(settings, "[small_file_recovery_stream]"));
|
this.concurrentSmallFileStreamPool = EsExecutors.newScaling(0, concurrentSmallFileStreams, 60, TimeUnit.SECONDS, EsExecutors.daemonThreadFactory(settings, "[small_file_recovery_stream]"));
|
||||||
|
|
||||||
this.maxBytesPerSec = componentSettings.getAsBytesSize("max_bytes_per_sec", componentSettings.getAsBytesSize("max_size_per_sec", new ByteSizeValue(50, ByteSizeUnit.MB)));
|
this.maxBytesPerSec = componentSettings.getAsBytesSize("max_bytes_per_sec", componentSettings.getAsBytesSize("max_size_per_sec", new ByteSizeValue(20, ByteSizeUnit.MB)));
|
||||||
if (maxBytesPerSec.bytes() <= 0) {
|
if (maxBytesPerSec.bytes() <= 0) {
|
||||||
rateLimiter = null;
|
rateLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -95,7 +95,7 @@ public class IndicesStore extends AbstractComponent implements ClusterStateListe
|
||||||
// we limit with 20MB / sec by default with a default type set to merge sice 0.90.1
|
// we limit with 20MB / sec by default with a default type set to merge sice 0.90.1
|
||||||
this.rateLimitingType = componentSettings.get("throttle.type", StoreRateLimiting.Type.MERGE.name());
|
this.rateLimitingType = componentSettings.get("throttle.type", StoreRateLimiting.Type.MERGE.name());
|
||||||
rateLimiting.setType(rateLimitingType);
|
rateLimiting.setType(rateLimitingType);
|
||||||
this.rateLimitingThrottle = componentSettings.getAsBytesSize("throttle.max_bytes_per_sec", new ByteSizeValue(50, ByteSizeUnit.MB));
|
this.rateLimitingThrottle = componentSettings.getAsBytesSize("throttle.max_bytes_per_sec", new ByteSizeValue(20, ByteSizeUnit.MB));
|
||||||
rateLimiting.setMaxRate(rateLimitingThrottle);
|
rateLimiting.setMaxRate(rateLimitingThrottle);
|
||||||
|
|
||||||
logger.debug("using indices.store.throttle.type [{}], with index.store.throttle.max_bytes_per_sec [{}]", rateLimitingType, rateLimitingThrottle);
|
logger.debug("using indices.store.throttle.type [{}], with index.store.throttle.max_bytes_per_sec [{}]", rateLimitingType, rateLimitingThrottle);
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class SimpleDistributorTests extends ElasticsearchIntegrationTest {
|
||||||
if (dataPaths.length > 1) {
|
if (dataPaths.length > 1) {
|
||||||
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(niofs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(niofs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
assertThat(storeString, endsWith(", type=MERGE, rate=50.0)])"));
|
assertThat(storeString, endsWith(", type=MERGE, rate=20.0)])"));
|
||||||
|
|
||||||
createIndexWithStoreType("test", "niofs", "random");
|
createIndexWithStoreType("test", "niofs", "random");
|
||||||
storeString = getStoreDirectory("test", 0).toString();
|
storeString = getStoreDirectory("test", 0).toString();
|
||||||
|
@ -69,7 +69,7 @@ public class SimpleDistributorTests extends ElasticsearchIntegrationTest {
|
||||||
if (dataPaths.length > 1) {
|
if (dataPaths.length > 1) {
|
||||||
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(niofs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(niofs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
assertThat(storeString, endsWith(", type=MERGE, rate=50.0)])"));
|
assertThat(storeString, endsWith(", type=MERGE, rate=20.0)])"));
|
||||||
|
|
||||||
createIndexWithStoreType("test", "mmapfs", "least_used");
|
createIndexWithStoreType("test", "mmapfs", "least_used");
|
||||||
storeString = getStoreDirectory("test", 0).toString();
|
storeString = getStoreDirectory("test", 0).toString();
|
||||||
|
@ -79,7 +79,7 @@ public class SimpleDistributorTests extends ElasticsearchIntegrationTest {
|
||||||
if (dataPaths.length > 1) {
|
if (dataPaths.length > 1) {
|
||||||
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(mmapfs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(mmapfs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
assertThat(storeString, endsWith(", type=MERGE, rate=50.0)])"));
|
assertThat(storeString, endsWith(", type=MERGE, rate=20.0)])"));
|
||||||
|
|
||||||
createIndexWithStoreType("test", "simplefs", "least_used");
|
createIndexWithStoreType("test", "simplefs", "least_used");
|
||||||
storeString = getStoreDirectory("test", 0).toString();
|
storeString = getStoreDirectory("test", 0).toString();
|
||||||
|
@ -89,7 +89,7 @@ public class SimpleDistributorTests extends ElasticsearchIntegrationTest {
|
||||||
if (dataPaths.length > 1) {
|
if (dataPaths.length > 1) {
|
||||||
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(simplefs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
assertThat(storeString.toLowerCase(Locale.ROOT), containsString("), rate_limited(simplefs(" + dataPaths[1].getAbsolutePath().toLowerCase(Locale.ROOT)));
|
||||||
}
|
}
|
||||||
assertThat(storeString, endsWith(", type=MERGE, rate=50.0)])"));
|
assertThat(storeString, endsWith(", type=MERGE, rate=20.0)])"));
|
||||||
|
|
||||||
createIndexWithStoreType("test", "memory", "least_used");
|
createIndexWithStoreType("test", "memory", "least_used");
|
||||||
storeString = getStoreDirectory("test", 0).toString();
|
storeString = getStoreDirectory("test", 0).toString();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue