免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 柳拂风
打印 上一主题 下一主题

mysql变成多进程的了? [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-12 06:20:00
11 [报告]
发表于 2007-12-23 18:29 |只看该作者
一个本地的应用有必要是多进程的吗?
如果要多进程?那岂不是一个应用还要进行几个进程之间的通信
有必要这样设计吗?这样性能会好吗?
多线程才是提高CPU的利用率,提高程序程序的效率.

论坛徽章:
0
12 [报告]
发表于 2007-12-25 11:04 |只看该作者
Apache,PostgreSQL 不都是多进程的方式么?

论坛徽章:
0
13 [报告]
发表于 2007-12-25 21:52 |只看该作者
难道rhel5又包含LinuxThreads了?

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-12 06:20:00
14 [报告]
发表于 2007-12-26 13:04 |只看该作者
原帖由 Aryang 于 2007-12-25 11:04 发表
Apache,PostgreSQL 不都是多进程的方式么?


不错,我的话说得有点绝了
很多应用都可以多进程的
比如Oracle的连接,有MTS和Dedicate的connection
前者是多线程的,后一种是多进程的,开销大,比较适合进行复杂的数据分析操作
我相信Apache,PostgreSQL(这个我不熟悉)也有类似的配置选择
而在大多数的情况下我们越来越多地选择了多线程的

而MySQL是单进程多线程的架构在手册第一章中就有提到
所以PS有什么意义?我看到论坛太多的在讨论这些无聊的问题上了

[ 本帖最后由 qlks 于 2007-12-26 13:06 编辑 ]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
15 [报告]
发表于 2007-12-27 14:23 |只看该作者
2.6内核32位系统上
gcc -static编译出来的程序
会让多线程表现成多进程的状态,出现同名多个PID
不带-static就表现为只有一个PID

64位系统,不管加不加-static,都只有一个PID
感觉32位和64位在线程的实现不一样
我的一个程序TOP结果
Mem:   4031824k total,  4001648k used,    30176k free,    62048k buffers
Swap: 16450520k total,      152k used, 16450368k free,  2850280k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
25899 root      18   0 80.0g 579m   84 S    0 14.7   0:01.02 server            
9329 root      16   0  615m  67m  24m S    0  1.7   1:02.93 firefox-bin   

server是个8192线程的测试程序,只有一个PID
编译加不加-static结果相同
uname -a
Linux localhost.localdomain 2.6.18-53.1.4.el5 #1 SMP Fri Nov 30 00:45:55 EST 2007 x86_64 x86_64 x86_64 GNU/Linux

论坛徽章:
0
16 [报告]
发表于 2007-12-28 05:33 |只看该作者
原帖由 xooass 于 2007-12-16 20:34 发表
我用RPM安装的    分别在CentOS 4.5 32bit 和 64bit上试过

32bit系统下   输入top后   看见多个mysql进程
在64bit系统下   输入top只能看见一个mysql进程      


楼上的结果和我的测试一样  CentOS5还没有测试过

论坛徽章:
0
17 [报告]
发表于 2007-12-28 09:32 |只看该作者

回复 #15 safedead 的帖子

如果这位兄弟测试过,而且说的没错的话,我觉得他说的还算是比较能反应事情的来源一些。

论坛徽章:
0
18 [报告]
发表于 2008-02-17 10:28 |只看该作者
rhel5用的不是LinuxThreads吧

[root@oracle ~]# uname -a
Linux oracle.dba 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 athlon i386 GNU/Linux
[root@oracle ~]# getconf GNU_LIBPTHREAD_VERSION
NPTL 2.5

lz看看是不是这机器因为装一些老版本软件 在profile设了LD_ASSUME_KERNEL

论坛徽章:
0
19 [报告]
发表于 2008-04-04 11:30 |只看该作者
我在centos5上试了,--with-all-static,起来也是一个进程,没有出现多个的情况

论坛徽章:
0
20 [报告]
发表于 2008-04-05 10:28 |只看该作者
我做的测试:
在rhel5上以rpm包安装,top发现多个mysql子进程,ps只发现一个mysql父进程。而以源码安装,top发现一个mysql进程.
在上面qlks 提到“一个本地的应用有必要是多进程的吗?如果要多进程?那岂不是一个应用还要进行几个进程之间的通信有必要这样设计吗?这样性能会好吗?多线程才是提高CPU的利用率,提高程序程序的效率.”

是不是可以这样理解:
mysql的多进程运行环境,不如它默认的单进程多线程环境来得有效?在安装时应选用源码,而不是rpm?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP