文章插图
现在我们谈谈AppleS优化的流程,刚才谈到AppleS的过量用户并发I/O的隐藏,是通过P和ζ二维控制实现的,其配置需要优化,及P和ζ优化 。
P优化的目的,是为了发现最佳的用户并发I/O的匹配点,在该点数据库的吞吐率可达到峰值 。同时由于该点可以避免过量并发I/O引起的高度锁竞争低效,以及队列效应,不仅是吞吐率,用户及公平性请求延时波动,也会得到很大的优化 。
对于P优化我们采用基于三点测量的建模方案,从而构建吞吐率和用户并行度的函数模型 。进而获得最佳的配置点,作为P控制的优化配置方案 。相关细节可以参考论文 。
以上例子直观地展现吞吐率和用户并行度的函数模型,以及最佳匹配点的物理含义,及达到吞吐率峰值所需要的最小用户并行度 。
而ζ优化则采用基于测量的反馈控制,在限定用户并发I/O不公平度和I/O请求延时波动上限的前提下,最大化地用户的顺序请求访问水平,在P控制限定用户过量并行I/O的前提下,缓存访问命中率将得到极大优化 。
性能测试主要针对AppleS的有效性、易用性和多类多版本数据库的兼容性,以及针对主流的Linux内核资源管理工具和存储调度机制的适用性展开 。为此目的,我们用经典而被广泛接受的关系数据库MySQL和NoSQL数据库MongoDB共4个版本的数据库作为测量对象 。同时我们在4个不同的版本的Linux内核,9个存储调度机制,以及Cgroup资源管理工具的环境下,对AppleS进行测试 。
对于MySQL8.0.23,AppleS可以显著提高用户并发I/O公平性降低I/O请求延时的波动水平,同时还能保证高水平的吞吐率,最高提升39.2% 。对于MySQL 8.0.15我们测试在一定用户并行I/O不公平的限制,例如10%,对于不同存储调度配置吞吐率的优化程度,可达到17%的提高 。对于MongoDB4.4.3,AppleS可以与资源调度工具Cgroup合作进一步提高吞吐率的水平,同时获得很高的用户并行I/O的公平性,最高可以提升101.5倍 。对于MongoDB 3.6.0我们发现AppleS在9个存储调度配置下,都可以极大地提高用户并发I/O的公平性,同时可以保持高吞吐水平 。
不难发现,AppleS通过细粒度的P和ζ控制,可以准确地隐藏过量的用户并发I/O,对数据库及其存储子系统的负面影响,极大地降低锁竞争,低效缓存行为以及I/O队列效应所产生的性能评价 。从而极大地提升了用户并发I/O公平性,保障高水平的I/O吞吐率,同时降低了I/O请求延时的波动水平,需要注意的是,AppleS采用的是非侵入式的用户态实现,易于部署和升级 。可以快速地适配不同类型、版本的数据库系统,如MySQL和MongoDB 。
(以上内容根据速记整理而成,未经过本人审阅)
【超越“高并发I/O数据库系统”的性能挑战】
推荐阅读
- 女生|94年女生开货车拉砖 一天搬砖8000块:努力样子引网友点赞 大家讨论点“跑偏”
- “烧仙草”是什么东西? 仙草是什么
- 黑鲨游戏手机,小米旗下的“荣耀”系列 黑鲨手机是哪个公司的
- 腾讯|腾讯发布“智能高速”:开上帝视角 夜晚开车如白天般明亮
- 招聘|“三支一扶”公开招聘,预计3.95万个岗位可选择,大专生也能报考
- 黄澜|市人力资源服务中心“牵线搭桥”上半年送岗位3.4万
- |“新来的同事,这是什么装扮?”有点可爱
- 股市里的“爆仓”是什么意思? 爆仓是什么意思
- 适合摆地摊的6种小商品 摆地摊卖什么好
- 紫檀|红木家具中的“劳斯莱斯”“法拉利”原来是......
