Skip to content

Commit 6e26f76

Browse files
committed
add rpc and http benchmark into a unified script
1 parent 0783866 commit 6e26f76

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
from paddle_serving_client import Client
2+
from paddle_serving_client.utils import MultiThreadRunner
3+
from paddle_serving_client.utils import benchmark_args
4+
import time
5+
import paddle
6+
import sys
7+
import requests
8+
9+
args = benchmark_args()
10+
11+
def single_func(idx, resource):
12+
if args.request == "rpc":
13+
client = Client()
14+
client.load_client_config(args.model)
15+
client.connect([args.endpoint])
16+
train_reader = paddle.batch(paddle.reader.shuffle(
17+
paddle.dataset.uci_housing.train(), buf_size=500), batch_size=1)
18+
start = time.time()
19+
for data in train_reader():
20+
fetch_map = client.predict(feed={"x": data[0][0]}, fetch=["price"])
21+
end = time.time()
22+
return [[end - start]]
23+
elif args.request == "http":
24+
train_reader = paddle.batch(paddle.reader.shuffle(
25+
paddle.dataset.uci_housing.train(), buf_size=500), batch_size=1)
26+
start = time.time()
27+
for data in train_reader():
28+
r = requests.post('http://{}/uci/prediction'.format(args.endpoint),
29+
data = {"x": data[0]})
30+
end = time.time()
31+
return [[end - start]]
32+
33+
multi_thread_runner = MultiThreadRunner()
34+
result = multi_thread_runner.run(single_func, args.thread, {})
35+
print(result)

0 commit comments

Comments
 (0)