diff options
author | Simon Rettberg | 2015-09-13 16:33:47 +0200 |
---|---|---|
committer | Simon Rettberg | 2015-09-13 16:33:47 +0200 |
commit | 7d513afb48e6e7710ecaed814b4a6e8d7bac2ab4 (patch) | |
tree | 9a603f774346ef8a679e872731ad0c2442f94460 /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java | |
parent | [client] Remove unneeded checks (diff) | |
download | tutor-module-7d513afb48e6e7710ecaed814b4a6e8d7bac2ab4.tar.gz tutor-module-7d513afb48e6e7710ecaed814b4a6e8d7bac2ab4.tar.xz tutor-module-7d513afb48e6e7710ecaed814b4a6e8d7bac2ab4.zip |
[server] Limit hashqueue length depending on max mem
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java index 55a87b5f..e45273db 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java @@ -11,13 +11,15 @@ public class Constants { private static final Logger LOGGER = Logger.getLogger(Constants.class); - public static final String INCOMPLETE_UPLOAD_SUFFIX = ".part"; + public static final String INCOMPLETE_UPLOAD_SUFFIX = ".upload.partial"; public static final int MAX_UPLOADS; public static final int MAX_DOWNLOADS; public static final int MAX_MASTER_UPLOADS = 2; public static final int MAX_MASTER_DOWNLOADS = 3; public static final int TRANSFER_TIMEOUT = 15 * 1000; // 15s + public static final int HASHCHECK_QUEUE_LEN; + static { long maxMem = Runtime.getRuntime().maxMemory(); if (maxMem == Long.MAX_VALUE) { @@ -48,5 +50,12 @@ public class Constants { MAX_UPLOADS = (int) Math.max(1, (maxMem - 64) / (FileChunk.CHUNK_SIZE_MIB * 2)); MAX_DOWNLOADS = MAX_UPLOADS * 2; + int hashQueueLen = (int) (maxMem / 100); + if (hashQueueLen < 1) { + hashQueueLen = 1; + } else if (hashQueueLen > 6) { + hashQueueLen = 6; + } + HASHCHECK_QUEUE_LEN = hashQueueLen; } } |