Я использую систему LAMP в Ubuntu 14.04. У меня есть RSS-канал с использованием PHP, который запускается каждые 1 час, и MySQL хранит данные.
Проблема в том, что когда мой RSS-канал работает, Apache работает на 100%, а MySQL работает на 100%, поэтому мой сайт не может использоваться обычными пользователями.
Я пробовал различные варианты, такие как Ницца, но это не сработало. Так что я попробовал cgroup, который также не работает для меня. Вот что я сделал до сих пор
1) Установленная cgroup:
sudo apt-get install cgroup-bin
2) перезагрузка
3) Создайте cgroup для вашего пользователя (поскольку apache работает под пользовательскими www-данными, как показано сверху):
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
Но мой процесс Apache все еще показывает 100%, когда никакой другой процесс не выполняется, и даже когда какой-то другой процесс, такой как MySQL, работает одновременно.
Когда я запускаю команду
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).
Я уверен, что я делаю какую-то ошибку. Что я делаю неправильно
Задача ещё не решена.
Других решений пока нет …