-
Notifications
You must be signed in to change notification settings - Fork 558
性能测试
Siran Yang edited this page May 31, 2019
·
4 revisions
我们基于阿里妈妈的搜索广告数据测试了Euler的极限性能。测试网络使用了传统的GraphSAGE算法。每个点大概几十个sparse ID的属性,没有使用dense属性。我们设置邻居汇聚层数为1层,邻居采样个数为10个。图的规模大约为2亿点,40亿边。机器学习框架使用TensorFlow。
为了精确测试Euler的服务能力,我们利用了异构部署的使用方式。在这种方式下,Euler被独立部署在单独的机器上,与Tensorflow的进程物理隔离。
我们分别测试了1台,2台及5台机器部署Euler可以达到的服务能力。机器的配置为:Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz,96核心,512G内存。TF worker跑在相同类型但是独立的硬件资源上,我们利用docker为每个worker分配16核心cpu以及50GB内存。
在三种Euler部署下,我们修改TF的Worker数量来测试Sample QPS。结果见下表。
TF worker数目 | 单台机器 | 两台机器 | 五台机器 |
---|---|---|---|
100 | 112w | 112w | 112w |
200 | 145w | 220w | 220w |
300 | 148w | 285w | 298w |
400 | 151w | 290w | 410w |
500 | 152w | 300w | 505w |
600 | 155w | 310w | 596w |
从以上结果,可以看到:
- 随着Euler的机器资源增加,我们的峰值服务能力可以线性扩充
- 随着TF worker数量的增加,QPS线性扩充直到达到Euler所用硬件资源的极限能力
- 用5台机器部署Euler,即可以带动600个TF worker,提供600w的训练QPS。部署Euler所需资源仅占用总计算资源的5%