线程数目对数据库的影响

环境介绍
客户端程序所在服务器是windows,4核CPU
服务端数据库服务器是linux,16核CPU


实验现象
客户端一个程序窗口,对应进程开5个线程,现象如下
数据库服务端5个process,每个process 100%耗CPU,先4个process同时运行完毕持续时间长达5分钟,后面1个process再运行完毕需要3分钟,数据库服务端所有process运行完毕后持续时间长达10分钟

客户端一个程序窗口,对应进程开4个线程,现象如下
数据库服务端4个process,每个process 100%耗CPU,数据库服务端4个process同时运行完毕持续时间长达4分钟




总结如下:
客户端只有4核CPU,开5个线程的话,客户端只能先跑4个线程再跑剩下的一个线程,每个线程独占一核CPU,占用CPU时间的时间是一样的,这样在客户端跑4个线程是跑5个线程的一半时间,跑8个和5个线程时间一样。

但是在数据库服务器linux上面,是一下子上来5个process,4个process先跑完,再跑最后一个process,服务端的process跑完的同时客户端程序也运行完毕了

线程数,首先要小于服务端的cpu核数,其次最好小于等于客户端的cpu核数(如果多于客户端的cpu核数,那客户端本身就在等待队列中)

本文名称:线程数目对数据库的影响
转载注明:https://www.cdcxhl.com/article8/iipoop.html

成都网站建设公司_创新互联,为您提供网站制作静态网站网站设计公司关键词优化用户体验App开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营