aboutsummaryrefslogtreecommitdiff
path: root/nar-herder
diff options
context:
space:
mode:
Diffstat (limited to 'nar-herder')
-rw-r--r--nar-herder/database.scm8
-rw-r--r--nar-herder/server.scm4
2 files changed, 6 insertions, 6 deletions
diff --git a/nar-herder/database.scm b/nar-herder/database.scm
index 2db561a..4fa145f 100644
--- a/nar-herder/database.scm
+++ b/nar-herder/database.scm
@@ -259,7 +259,8 @@ CREATE TABLE scheduled_cached_narinfo_removal (
"CREATE INDEX IF NOT EXISTS narinfo_files_narinfo_id
ON narinfo_files (narinfo_id);"))
-(define (setup-database database-file metrics-registry)
+(define* (setup-database database-file metrics-registry
+ #:key (reader-threads 1))
(define mmap-size #f)
(let ((db (db-open database-file)))
@@ -302,10 +303,7 @@ CREATE TABLE scheduled_cached_narinfo_removal (
#:name "db r"
;; Use a minimum of 2 and a maximum of 8 threads
- #:parallelism
- (min (max (current-processor-count)
- 2)
- 64)
+ #:parallelism reader-threads
#:delay-logger (let ((delay-metric
(make-histogram-metric
metrics-registry
diff --git a/nar-herder/server.scm b/nar-herder/server.scm
index dd59216..2b941b9 100644
--- a/nar-herder/server.scm
+++ b/nar-herder/server.scm
@@ -631,7 +631,9 @@
(make-scheduler #:parallelism 1))
(let* ((database (setup-database (assq-ref opts 'database)
- metrics-registry))
+ metrics-registry
+ #:reader-threads
+ (assq-ref opts 'database-reader-threads)))
(canonical-storage (and=> (assq-ref opts 'storage)
canonicalize-path))