openGauss7.0.0-RC3压测性能问题

最近在对openGauss 7.0.0-RC3进行压测时,发现简单场景下,相同压力对实现相同功能的存储过程和函数进行压测,openGauss的CPU要明显高出SQL Server。大家在使用和测试过程中有遇到这个问题吗? 在存储过程额外调用游标的情况下,存储过程的CPU使用情况还要比函数好一些,这是为什么呢?

SQL Server的存储过程CPU 使用情况:

openGauss的存储过程CPU使用情况:

openGauss的函数CPU使用情况:

还有一个问题,在跑复杂大sql时(已设置query_dop),openGauss似乎只用了其中一个C,这有其他参数限制吗?

SQL Server 的 T-SQL有即时编译(JIT)和高度优化的执行计划缓存机制。在简单场景下,SQL Server 能够更高效地复用执行计划,openGauss 针对高并发场景进行了内核优化,其事务可见性判断(CSN)、全局日志管理等机制在简单并发场景下,可能会比 SQL Server 消耗更多的 CPU 资源来进行状态推进和锁检查。