[size=1em]包括Apache在内的很多程序,都是早期开发的软件,没有默认对多核心的支持。自己看了下我的8核VPS,确实如此。怎么办呢?问题当然要有解决的办法,而且不算太麻烦。
[size=1em]根据自己的需要,我修改了MySQL、Apache和Nginx,开启多核心支持,使它们获得更好的性能。
开启多核心方法如下:
[size=1em]1、安装“taskset工具”:
[size=1em]使用方法:
[size=1em]网上介绍的命令,“1,2,3”是CPU核数,分配给PID为“567”的进程。
[size=1em]这样的命令太麻烦,有些程序PID很多,难道一个个找?下面介绍简单的方法~
[size=1em]2、关闭Mysql,并以多核心模式启动:
- /etc/init.d/mysql stop
- taskset -c 1,2 /etc/init.d/mysql start
[size=1em]注:设置Mysql占用CPU1、2核
[size=1em]对于Mysql,还有另一个关于核心的优化设置,在“my.cnf ”文件中找到以下代码:
[size=1em]后面的数字建议为CPU核心数的2倍,这样可以试Mysql更好的利用多核心资源
[size=1em]3、关闭Apache,并以多核心模式启动:
- /etc/init.d/httpd stop
- taskset -c 3,4,5,6 /etc/init.d/httpd start
[size=1em]注:设置Apache占用CPU3、4、5、6核
[size=1em]4、设置Nginx开启多核心模式:
[size=1em]Nginx开启多核心支持与上述两个程序不同,Nginx内部提供了更精确的控制。
[size=1em]编辑修改“/etc/nginx/nginx.conf ”,找到以下代码:
[size=1em]1代表1核,根据需要修改就可以了,不一定要写满核心数。我设置了3核:
[size=1em]在其下方添加一行代码:
- worker_cpu_affinity 0010 0100 1000;
[size=1em]这里0010 0100 1000是掩码,分别代表第2、3、4颗cpu核心。
[size=1em]5、查看CPU使用情况:
[size=1em]在SSH下输入命令“top”,然后按“1”,可以看CPU每个核心的使用情况了吧?
[size=1em]
|