Задать вопрос
@merinovkv

Как запустить PHP скрипт из консоли на всех ядрах?

Скажите, гуру, есть ли какая-то возможность запускать php-скрипты из консоли (linux, php 5.3), задействуя сразу все ядра? Вкратце: есть скрипт, который должен запускаться не часто, но много писать в базу, при этом запросы получаются не большие и их много (over 100000).
Сейчас скрипт работает, но загружает только одно ядро и работает долго (часов по 7). Может есть какая-то возможность из linux указывать максимальное количество ядер для php?
  • Вопрос задан
  • 2707 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
benbor
@benbor
Помог ответ - не забудь лайкнуть
Нет, по умолчанию PHP работает однопоточно. Вы можете руками запустить много скриптов ( или не руками, а supervisor, например) но они должны быть соответсвующе написаны, и не делать одну и туже работу. А еще , прежде чем что-то оптимизировать сначало найдите узкое место, xhprof например, а тогда уже устраняйте его
Ответ написан
Комментировать
@Niemi
IT administrator, DevOp
если дистрибутив позволяет, то можно использовать taskset ("taskset - retrieve or set a process's CPU affinity
"). однако надо протестировать как на это будет реагировать приложение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы