




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
达梦数据库线程结构
武汉职业技术学院
信创学院1.监听线程2.I/O线程3.工作线程4.调度线程5.日志线程线程结构一.监听线程监听线程主要的任务是在服务器端口上进行循环监听,一旦有来自客户的连接请求,监听线程被唤醒并生成一个会话申请任务,加入工作线程的任务队列,等待工作线程进行处理。它在系统启动完成后才启动,并且在系统关闭时首先被关闭。为了保证在处理大量客户连接时系统具有较短的响应时间,监听线程比普通线程优先级更高。二.I/O线程在数据库活动中,I/O操作历来都是最为耗时的操作之一。当事务需要的数据页不在缓冲区中时,如果在工作线程中直接对那些数据页进行读写,将会使系统性能变得非常糟糕,而把I/O操作从工作线程中分离出来则是明智的做法。I/O线程的职责就是处理这些I/O操作。通常情况下,数据库主要有以下三种情况需要进行I/O操作:需要处理的数据页不在缓冲区中,此时需要将相关数据页读入缓冲区;缓冲区满或系统关闭时,此时需要将部分脏数据页写入磁盘;检查点到来时,需要将所有脏数据页写入磁盘。I/O线程在启动后,通常都处于睡眠状态,当系统需要进行I/O时,只需要发出一个I/O请求,此时I/O线程被唤醒以处理该请求,在完成该I/O操作后继续进入睡眠状态。三.工作线程
工作线程是达梦服务器的核心线程,它从任务队列中取出任务,并根据任务的类型进行相应的处理,负责所有实际的数据相关操作。DM8数据库的初始工作线程个数由配置文件指定,随着会话连接的增加,工作线程也会同步增加,以保持每个会话都有专门的工作线程处理请求。为了保证用户所有请求及时响应,一个会话上的任务全部由同一个工作线程完成,这样减少了线程切换的代价,提高了系统效率。当会话连接超过预设的阀值时,工作线程数目不再增加,转而由会话轮询线程接收所有用户请求,加入任务队列,等待工作线程一旦空闲,从任务队列依次摘取请求任务处理。与工作线程相关的参数为:WORKER_THREADS(工作线程的数目),有效值范围为1~64。四.调度线程调度线程用于接管系统中所有需要定时调度的任务。调度线程每秒钟轮询一次,负责的任务如下:检查系统级的时间触发器,如果满足触发条件则生成任务加到工作线程的任务队列由工作线程执行;清理SQL缓存、计划缓存中失效的项,或者超出缓存限制后淘汰不常用的缓存项;检查数据重演捕获持续时间是否到期,到期则自动停止捕获;执行动态缓冲区检查。根据需要动态扩展或动态收缩系统缓冲池;自动执行检查点。为了保证日志的及时刷盘,减少系统故障时恢复时间,根据INI参数设置的自动检查点执行间隔定期执行检查点操作;会话超时检测。当客户连接设置了连接超时时,定期检测是否超时,如果超时则自动断开连接;必要时执行数据更新页刷盘;唤醒等待的工作线程。五.日志FLUSH线程
任何数据库的修改,都会产生重做重做日志,为了保证数据故障恢复的一致性,重做日志的刷盘必须在数据页刷盘之前进行。事务运行时,会把生成的重做日志保留在日志缓冲区中,当事务提交或者执行检查点时,会通知FLUSH线程进行日志刷盘。由于日志具备顺序写入的特点,比数据页分散IO写入效率更高。日志FLUSH线程和IO线程分开,能获得更快的响应速度,保证整体的性能。DM8的日志FLUSH线程进行了优化,在刷盘之前,对不同缓冲区内的日志进行合并,减少了IO次数,进一步提高了性能。如果系统配置了实时归档,在FLUSH线程日志刷盘前,会直接将日志通过网络发送到实时备库。如果配置了本地归档,则生成归档任务,通过日志归档线程完成。任务实践
目前“工资管理系统”当用户同时访问人数增多时,速度会比较慢,经DBA诊断,是因为工作线程数少了,需要增加相应的工作线程数。将WORKER_THREADS参数设置为64。增加工作线程数WORKER_THREADS查看WORKER_THREADS参数值,并核对WORKER_THREADS是动态参数还是静态参数。目前WORKER_THREADS的值为16,并且为“INFILE”静态参数,如图所示。设置参数后,需要重启实服服务,才能使修改后参数值生效。现在使用SP_SET_PARA_VALUES过程,对WORKER_THREADS的值进行调整。WORKER_THREADS是静态参数,重启实例服务后,WORKER_THREADS值变为64。参数调整完成后,当同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新型智能网络服务合同协议书范本
- 2025至2030年中国节能灯老化线数据监测研究报告
- 钢材寄存合同范本
- 广告代理投放合作协议
- 区块链技术应用合作协议
- 好玩的游戏(教学设计)-2024-2025学年一年级上册数学北师大版2024
- 《范进中举》 京剧情景教学设计-2024-2025学年统编版语文九年级上册
- 2025至2030年中国蒸汽输送管数据监测研究报告
- Unit 3 Reading1 教学设计 2024-2025学年译林版(2024)七年级英语上册
- 2025年地矿地震仪器合作协议书
- 2024中国AI应用开发者生态调研报告-易观分析
- -中国传统节日之春节习俗介绍主题班会14
- 2024年辽宁医药职业学院单招职业适应性测试题库含答案
- 2024上海市长宁区高三二模作文“成长的必经之路:责任与选择”审题立意及范文
- 诺如病毒应急演练汇报
- 医院检验科实验室生物安全程序文件SOP
- 生物质颗粒厂建设项目可行性研究报告
- 三创赛获奖-非遗文化创新创业计划书
- 2024届新高考二轮复习 以“防”突破无机制备型实验综合题 课件
- 《电线电缆介绍》课件
- 汽车驱动桥桥壳的优化设计
评论
0/150
提交评论