在性能评估方面,云上机器的一个特点是大小、配置可自定义调节。因此,如果只考虑查询性能,理论上可以通过租用大量的高性能设备提升性能。但是,这样也会造成云上计算成本飙升。因此,需要一套机制实现性能和成本的平衡和综合考虑。
Raven 的性能评估方法是高度自定义的,允许用户根据可以获取的参数指标,使用函数表达式组合起来,得到一个评估分数。
Raven 中可获取的参数指标主要有以下几类:
1、查询质量指标:包括所有查询的总查询时间、平均查询时间、查询时间 95% 分位数、最大查询时间;
2、资源使用效率:内存和 CPU 的平均使用率、负载均衡、资源占用率超过 90% 的时间占总时间的比例;
3、云上金钱成本:可直接通过云服务商提供的应用服务获取,主要包含四个部分的开销:存储、计算、服务调用、网络传输。
Raven 给出的评分是相对的,只能在相同模型的评分之间进行比较。性能评估得分是云上成本和云上开销的乘积,评分越低,OLAP 引擎的性能越好。云上开销可使用线性模型,对上述参数赋予权重计算;也可使用非线性模型,将上述参数代入到一个函数表达式中。
Raven 也为用户提供了一系列模板函数:
1、综合模型:PTO=10×ln(PoC×(ravg+qavg))PTO=10×ln(PoC×(ravg+qavg)).
2、速度优先模型:PTO=10×ln(ravg+qavg)PTO=10×ln(ravg+qavg)
3、预算优先模型:PTO=11+e8(b−PoC)×(ravg+qavg)PTO=11+e8(b−PoC)×(ravg+qavg)
4、查询效率模型:PTO=PoC×qmax+5q95%+94qavg100PTO=PoC×qmax+5q95%+94qavg100
5、查询阻塞模型:PTO=PoC×ln(rmax )PTO=PoC×ln(rmax )
其中,PTO 表示性能评分,PoC 表示云上成本,ravgravg、qavgqavg 分别表示平均响应时间和平