cbaines pushed a commit to branch master
in repository data-service.
commit e8bd27fdb81fb776109ba4d2a57a1432768f100f
Author: Christopher Baines <[email protected]>
AuthorDate: Fri Jul 26 21:42:21 2024 +0100
Try using 2 threads for the server
---
guix-data-service/web/server.scm | 24 +++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/guix-data-service/web/server.scm b/guix-data-service/web/server.scm
index 07f05f8..d56066e 100644
--- a/guix-data-service/web/server.scm
+++ b/guix-data-service/web/server.scm
@@ -134,11 +134,21 @@
(run-fibers
(lambda ()
- (catch 'system-error
- (lambda ()
- (set-thread-name
- (string-append "server")))
- (const #t))
+ (let* ((current (current-scheduler))
+ (schedulers
+ (cons current (scheduler-remote-peers current))))
+ (for-each
+ (lambda (i sched)
+ (spawn-fiber
+ (lambda ()
+ (catch 'system-error
+ (lambda ()
+ (set-thread-name
+ (string-append "server " (number->string i))))
+ (const #t)))
+ sched))
+ (iota (length schedulers))
+ schedulers))
(while (not request-scheduler)
(sleep 0.1))
@@ -236,6 +246,6 @@ port. Also, the port used can be changed by passing the
--port option.\n"
(spawn-port-monitoring-fiber port finished?)
(wait finished?))
- #:hz 5
- #:parallelism 1))
+ #:hz 0
+ #:parallelism 2))
finished?)))