Scaling Execution Engine : RapidMiner 8
Hello,
I recently updated to RapidMiner Server 8 and I am exposing a lot of my models as API/webservices.
RM Server 8 sends the webservice requests to the Execution Engine which is one for each RM server instance.
How to scale this execution engine.
I have a small license with 16 GB RAM. What is the ideal QPS (Query per second) , the execution engine can handle?
Is execution engine capable of handling requests in parallel.
Answers
-
Vipul,
Web services are still (as of RM 8.1) executed in the main server container and are not distributed through Job Agents. The Job Agent architecture currently incurs a process startup time that exceeds the normal latency constraints for most web services so we maintained an execution engine in the server core.
The Web Service engine will run multiple calls in parallel and in testing on a small server environment I was able to achieve several hundred WS calls per second which included grabbing a simple model from the repository, passing in a row of data, scoring that data, and returning the results (was hitting around 40ms per call in my environment). On optimized infrastructure you could probably exceed this easily. You could also put several RM Servers behind a load balancer if you needed to up the throughput.
3