开源BI分析工具使用系列:Metabase性能测试

本周主要介绍小工蚁针对开源BI分析工具Metabase进行性能压力测试和结果。小工蚁大数据分析平台如下图所示,图形化BI分析平台使用Metabase+Mysql(关系性数据库RDBMS)+Druid(时序列存储OLTP大数据平台)组成。通过Metabase图形操作产生Tables和 Charts、也可以通过SQL定义Tables和Charts,Dashboard可以选择不同Tables和Charts组成不同视图,满足每个人个性化需求;Pulses可以设置定时任务自动发送邮件给指定用户,邮件中包含之前定义Tables、Charts和Dashboard。Metabase产生的图表可以在PC端Web显示也可以在手机端展示,Metabase基本功能可以参考官方文档

QQ20190123-200820@2x

Metabase性能如何呢?能否满足企业级BI商业智能分析性能要求?针对这个问题小工蚁进行深入研究和性能分析。

我们将使用JMeter模拟用户登录、打开Dashboard、查询每个图表和组件。

1)用户和密码登录Metabase,如下图1所示

QQ20190123-202254@2x

2)登录主页,可以看到有3个Dashboards查看,销售分析、客户分析和产品分析

QQ20190123-202238@2x

3)随机访问3个Dashboards中的任意一个。

销售分析

QQ20190124-010522@2x

产品分析

QQ20190124-010554@2x

客户分析

QQ20190124-010537@2x

开启10个线程同时并发访问Metabase模拟10个用户同时使用,执行login平均120ms执行完成,dashboard 29ms执行完成、query card具体执行查询715ms,通过性能测试得知Metabase主要消耗性能在执行具体MySQL和Druid查询,自身性能消耗比较小。10个用户需要平均需要15个线程来同时处理。如果100个用户访问预计需要开起150个线程,当前查询平均715ms,最多花3.144秒。如果平均时间1.5秒,线程数量需要再翻倍要达到300个线程。由于Metabase启用Cache缓存查询的结果,因此慢查询被缓存后查询速度会有明显提升。一般Jetty最大设置500线程最优性能可以保证,单台服务器保守可以支持250~300个用户同时访问。(Metabase性能优化请参阅我写的另一篇文章:Metabase性能调优

Metabase可以通过横向扩展方式增加服务器,通过负载均衡实现多个Metabase服务组成满足企业对于BI大规模用户的使用。BI性能瓶颈不在Metabase而是在于数据源和数据计算平台MySQL和Druid平台上。

QQ20190124-010806@2x

结论:Metabase功能和性能上可以满足企业商业智能和大数据挖掘的需求。

 

 

推荐文章

沪公网安备 31010702002009号