1

我在 ubuntu 14.04 上运行 LAMP 系统。我有一个使用 php 的 rss 提要,它每 1 小时运行一次,MySQL 存储数据。

问题是当我的 RSS 提要工作时,Apache 以 100% 运行而 MySQL 以 100% 运行,所以我的网站不能被普通用户使用。

我尝试了各种选项,例如 Nice,但没有奏效。所以我尝试了 cgroup,它也不适合我。这是我到目前为止所做的

1)安装的cgroup:

sudo apt-get install cgroup-bin

2) 重启

3)为您的用户创建一个 cgroup(因为 apache 在用户 www-data 下运行,如顶部所示):

sudo cgcreate -a www-data -g cpu:www-data

4)运行命令:

echo 300 > /sys/fs/cgroup/cpu/www-data/cpu.shares

5)运行命令:

cgexec -g cpu:www-data wget http://www.mywebiste.com/rss.php

但是当没有其他进程运行时,甚至当 MySQL 等其他进程同时运行时,我的 Apache 进程仍然显示 100%。

当我运行命令时

root@tb:~$ cgexec -g cpu:www-data wget http://www.mywebiste.com/rss.php 100 &

[1] 3001

root@tb:~$ cat /sys/fs/cgroup/cpu/www-data/tasks

3001

但在顶部,Apache 运行在不同的 PID 下,如 1564,并且上述命令中显示的 PID 不同(3001)。

我确定我犯了一些错误。我究竟做错了什么

4

0 回答 0