diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 16:20:53 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-09-30 16:20:53 +0200 |
commit | c134dffcc8c8276828cbc21df97d7cfa0e7fbe84 (patch) | |
tree | d143edde6fe98d3ede262a05a2b64bd6673741ba /config-model/src/main | |
parent | 84735c5c71ce231f8e05a3f6931d4290275b85c0 (diff) |
Scale queue size for access/connection log locally
Diffstat (limited to 'config-model/src/main')
5 files changed, 8 insertions, 51 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index c715081329a..d05650b10b5 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -70,7 +70,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; -import java.util.OptionalDouble; import java.util.Set; /** @@ -652,16 +651,4 @@ public abstract class ContainerCluster<CONTAINER extends Container> public boolean getDeferChangesUntilRestart() { return deferChangesUntilRestart; } - /** - * Effective vcpu for the containers in cluster. Use this value as scale factor for performance/resource tuning. - * @deprecated Use {@link Runtime#availableProcessors()} directly on receiver of config instead. - **/ - @Deprecated(forRemoval = true) - public OptionalDouble vcpu() { - return getContainers().stream() - .filter(c -> c.getHostResource() != null && c.getHostResource().realResources() != null) - .mapToDouble(c -> c.getHostResource().realResources().vcpu()) - .max(); // Use highest vcpu as scale factor - } - } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java index 88aaf78ccec..33e712feeb1 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/AccessLogComponent.java @@ -9,8 +9,6 @@ import com.yahoo.osgi.provider.model.ComponentModel; import com.yahoo.vespa.model.container.ApplicationContainerCluster; import com.yahoo.vespa.model.container.ContainerCluster; -import java.util.OptionalInt; - /** * @author Tony Vaagenes * @author gjoranv @@ -32,11 +30,10 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL public AccessLogComponent(ContainerCluster<?> cluster, AccessLogType logType, CompressionType compressionType, String clusterName, boolean isHostedVespa) { - this(cluster, logType, compressionType, + this(logType, compressionType, String.format("logs/vespa/qrs/%s.%s.%s", capitalize(logType.name()), clusterName, "%Y%m%d%H%M%S"), null, null, isHostedVespa, - capitalize(logType.name()) + "." + clusterName, - queueSize(cluster).orElse(-1), + capitalize(logType.name()) + "." + clusterName, -1, ((cluster instanceof ApplicationContainerCluster) ? 4*1024*1024 : null)); } @@ -44,8 +41,7 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL return name.substring(0, 1).toUpperCase() + name.substring(1); } - public AccessLogComponent(ContainerCluster<?> cluster, - AccessLogType logType, + public AccessLogComponent(AccessLogType logType, CompressionType compressionType, String fileNamePattern, String rotationInterval, @@ -69,14 +65,6 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL throw new RuntimeException("File name pattern required when configuring access log."); } - @SuppressWarnings("removal") - private static OptionalInt queueSize(ContainerCluster<?> cluster) { - if (cluster == null) return OptionalInt.empty(); - double vcpu = cluster.vcpu().orElse(0); - if (vcpu <= 0) return OptionalInt.empty(); - return OptionalInt.of((int) Math.max(4096, Math.ceil(vcpu * 256.0))); - } - private static String accessLogClass(AccessLogType logType) { switch (logType) { case queryAccessLog: @@ -106,9 +94,7 @@ public final class AccessLogComponent extends SimpleComponent implements AccessL } else if (isHostedVespa) { builder.compressOnRotation(true); } - if (queueSize >= 0) { - builder.queueSize(queueSize); - } + builder.queueSize(queueSize); if (bufferSize != null) { builder.bufferSize(bufferSize); } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java b/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java index ec3a4d0834a..4afac252085 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/component/ConnectionLogComponent.java @@ -6,39 +6,25 @@ import com.yahoo.container.logging.ConnectionLog; import com.yahoo.container.logging.ConnectionLogConfig; import com.yahoo.vespa.model.container.ContainerCluster; -import java.util.OptionalInt; - public class ConnectionLogComponent extends SimpleComponent implements ConnectionLogConfig.Producer { private final String logDirectoryName; private final String clusterName; - private final int queueSize; public ConnectionLogComponent(ContainerCluster<?> cluster, Class<? extends ConnectionLog> cls, String logDirectoryName) { - this(cluster, cls, logDirectoryName, cluster.getName()); + this(cls, logDirectoryName, cluster.getName()); } - public ConnectionLogComponent(ContainerCluster<?> cluster, Class<? extends ConnectionLog> cls, String logDirectoryName, String clusterName) { + public ConnectionLogComponent(Class<? extends ConnectionLog> cls, String logDirectoryName, String clusterName) { super(cls.getName()); this.logDirectoryName = logDirectoryName; this.clusterName = clusterName; - this.queueSize = queueSize(cluster).orElse(-1); - } - - @SuppressWarnings("removal") - private static OptionalInt queueSize(ContainerCluster<?> cluster) { - if (cluster == null) return OptionalInt.empty(); - double vcpu = cluster.vcpu().orElse(0); - if (vcpu <= 0) return OptionalInt.empty(); - return OptionalInt.of((int) Math.max(4096, Math.ceil(vcpu * 512.0))); } @Override public void getConfig(ConnectionLogConfig.Builder builder) { builder.cluster(clusterName); builder.logDirectoryName(logDirectoryName); - if (queueSize >= 0) { - builder.queueSize(queueSize); - } + builder.queueSize(-1); } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java index d7812e9b4ff..62f04edf0ae 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/AccessLogBuilder.java @@ -55,7 +55,6 @@ public class AccessLogBuilder { @Override protected AccessLogComponent doBuild(DeployState deployState, AbstractConfigProducer<?> ancestor, Element spec) { return new AccessLogComponent( - (ContainerCluster<?>) ancestor, accessLogType, compressionType(spec, isHostedVespa), fileNamePattern(spec), diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java index a1f52cca9fd..75f11020c15 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java @@ -6,7 +6,6 @@ import com.yahoo.config.model.deploy.DeployState; import com.yahoo.container.logging.FileConnectionLog; import com.yahoo.vespa.model.container.ApplicationContainerCluster; import com.yahoo.vespa.model.container.ContainerModel; -import com.yahoo.vespa.model.container.ContainerModelEvaluation; import com.yahoo.vespa.model.container.component.AccessLogComponent; import com.yahoo.vespa.model.container.component.ConnectionLogComponent; import com.yahoo.vespa.model.container.configserver.ConfigserverCluster; @@ -48,7 +47,7 @@ public class ConfigServerContainerModelBuilder extends ContainerModelBuilder { if (isHosted()){ cluster.addComponent( new AccessLogComponent( - cluster, AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.ZSTD, + AccessLogComponent.AccessLogType.jsonAccessLog, AccessLogComponent.CompressionType.ZSTD, "logs/vespa/configserver/access-json.log.%Y%m%d%H%M%S", null, true, true, "access-json.log", 1024,256*1024)); cluster.addComponent(new ConnectionLogComponent(cluster, FileConnectionLog.class, "configserver")); } else { |