USleep
Просто маленький usleep вернет ЦП другому доступному процессу (планирование ЦП) .
Hog
Возьмем этот простой скрипт, например:
<?php
for ($i=0;$i<1000000;$i++) {
echo "$i\n";
}
Этот процесс в среднем потребляет 20% моего процессорного времени.
Расписание
Этот простой скрипт потребляет только 10% процессорного времени в averqage.
<?php
for ($i=0;$i<1000000;$i++) {
echo "$i\n";
usleep(100);
}
Конечно, этот скрипт занимает немного больше времени, но процессор лучше спланирован. Чем дольше вы будете спать, тем лучше будет процессорный график. usleep(1000)
например, используется только 2% времени процессора.
Я проверял это на своем Ubuntu Box
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
Очередь сообщений
Кроме того, ваша операционная система очень хороша в планировании процессов (конечно, этот процесс должен быть дружественным к вашему ЦП), поэтому я бы посоветовал вам использовать очередь сообщений для ускорения вашей работы (отправка твитов). Например, Redis также можно использовать в качестве очереди сообщений или beanstalkd . Запустите несколько рабочих процессов, которые обрабатывают работу (рассылка твитов). В качестве бонуса вы не несете цену нерестовых процессов, которая является относительно дорогой. В сети более чем достаточно информации, доступной через очередь сообщений.