chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import click
|
||||
|
||||
from ray import serve
|
||||
from ray.serve._private.benchmarks.common import Benchmarker, Hello
|
||||
from ray.serve.handle import DeploymentHandle
|
||||
|
||||
|
||||
@click.command(help="Benchmark deployment handle throughput.")
|
||||
@click.option(
|
||||
"--batch-size",
|
||||
type=int,
|
||||
default=100,
|
||||
help="Number of requests to send to downstream deployment in each trial.",
|
||||
)
|
||||
@click.option(
|
||||
"--num-replicas",
|
||||
type=int,
|
||||
default=1,
|
||||
help="Number of replicas in the downstream deployment.",
|
||||
)
|
||||
@click.option(
|
||||
"--num-trials",
|
||||
type=int,
|
||||
default=5,
|
||||
help="Number of trials of the benchmark to run.",
|
||||
)
|
||||
@click.option(
|
||||
"--trial-runtime",
|
||||
type=int,
|
||||
default=1,
|
||||
help="Duration to run each trial of the benchmark for (seconds).",
|
||||
)
|
||||
def main(
|
||||
batch_size: int,
|
||||
num_replicas: int,
|
||||
num_trials: int,
|
||||
trial_runtime: float,
|
||||
):
|
||||
app = Benchmarker.bind(
|
||||
Hello.options(
|
||||
num_replicas=num_replicas, ray_actor_options={"num_cpus": 0}
|
||||
).bind(),
|
||||
)
|
||||
h: DeploymentHandle = serve.run(app)
|
||||
|
||||
mean, stddev = h.run_throughput_benchmark.remote(
|
||||
batch_size=batch_size,
|
||||
num_trials=num_trials,
|
||||
trial_runtime=trial_runtime,
|
||||
).result()
|
||||
|
||||
print(
|
||||
"DeploymentHandle throughput {}: {} +- {} requests/s".format(
|
||||
f"(num_replicas={num_replicas}, batch_size={batch_size})",
|
||||
mean,
|
||||
stddev,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user