我在 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)。
我确定我犯了一些错误。我究竟做错了什么