[jvm-packages] Production Deployments + Performance Tuning

Hello, I’m experimenting with my first xgboost model and was looking for best practices regarding the production deployment of the model. We’ll be deploying to a scala web service.

Would you recommended using the xgboost4j library directly or another packaging format like mleap, PMML or onnx?

How should we structure our application to make predictions efficient? The application will be performing ranking of several hundred items per http request. I’m concerned about the performance because the predict method is synchronized and CodingCat once said " XGBoost does not have a “online prediction friendly” implementation"