Feast Load Test Proxy
This simple Go service generates load as part of the Feast testing suite. It sits between an HTTP based load testing tool as follows:
[Load Testing Tool] --(http)--> [Feast Load Test Proxy] --(grpc)--> [Feast Serving]
Usage
Start the proxy
LOAD_FEAST_SERVING_HOST=feast.serving.example.com LOAD_FEAST_SERVING_PORT=6566 go run main.go
2020/07/24 14:00:02 Creating client to connect to Feast Serving at localhost:6566
2020/07/24 14:00:02 Starting server on port:8080
The following command simply echos the version of Feast Serving. Useful for testing network latency
curl localhost:8080/echo
This command will send a single GetOnlineFeatures request to the configured Feast serving instance. The entity_count
parameter is used to set how many entities will be sent (unique users in this case). The higher the number of entities the higher the expected latency.
curl localhost:8080/send?entity_count=30