Я написал следующий код для извлечения записей и выполнения действий
На маршруте akka-http,
complete(mongoDB.getCollection(getCollectionName(user_id, list_id)).find()
.getAllContacts(user_id, list_id).map { line =>
validateNumber(line.phone, prefixTrim)
}.toFuture().map(_.size.toString))
При тестировании API с использованием wrk с 1000 подключениями и 10 потоками яполучаю следующие ошибки
java.lang.OutOfMemoryError: GC overhead limit exceeded
Error during processing of request: 'Boxed Error'.
Completing with 500 Internal Server Error response.
To change default exception handling behavior, provide a custom ExceptionHandler.
java.util.concurrent.ExecutionException: Boxed Error
Caused by: java.lang.OutOfMemoryError: Java heap space
Есть ли способ решить эту проблему без увеличения размера кучи?
ОБНОВЛЕНО
Размер коллекции = 33 МБ и
java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'
intx CompilerThreadStackSize = 0 {pd product}
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 268435456 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 4294967296 {product}
intx ThreadStackSize = 1024 {pd product}
intx VMThreadStackSize = 1024 {pd product}
java version "1.8.0_131"