From b28a63a271f9af696a4923046d64ca81f14d327f Mon Sep 17 00:00:00 2001 From: yuzliu <55463421+yuzliu@users.noreply.github.com> Date: Mon, 28 Sep 2020 10:50:22 -0400 Subject: [PATCH] Set default worker to 1 KFServer uses the number of cores on the machine to set the number of process in its tornado service which can delay the initialization time and increase the memory usage a lot. A local testing suggests that KFServer loaded 64 processes and used more than 500Mb for a simple SKLearn model. Once I set the worker number to 1, the memory usage was reduced to around 100Mb. ``` [I 200927 18:26:06 kfserver:88] Registering model: mlguild-iris-svm [I 200927 18:26:06 kfserver:77] Listening on port 8080 [I 200927 18:26:06 kfserver:79] Will fork 0 workers [I 200927 18:26:06 process:126] Starting 64 processes ``` --- python/kfserving/kfserving/kfserver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/kfserving/kfserving/kfserver.py b/python/kfserving/kfserving/kfserver.py index 52b2d9fa23..94ad7ed933 100644 --- a/python/kfserving/kfserving/kfserver.py +++ b/python/kfserving/kfserving/kfserver.py @@ -38,7 +38,7 @@ help='The GRPC Port listened to by the model server.') parser.add_argument('--max_buffer_size', default=DEFAULT_MAX_BUFFER_SIZE, type=int, help='The max buffer size for tornado.') -parser.add_argument('--workers', default=0, type=int, +parser.add_argument('--workers', default=1, type=int, help='The number of works to fork') args, _ = parser.parse_known_args()