Я предлагаю, чтобы Вы присвоили дополнительный IP-адрес каждому из Ваших серверов (в дополнение к статическому IP, для которого Вы используете, скажем, ssh), и Вы берете это в пул DNS. И затем Вы используете некоторое программное обеспечение для передвижения этих IP-адресов в случае, если сервер перестал работать. Heartbeat или CARP могут сделать это, например, но там существуют другие решения.
Это имеет преимущество, которое для клиентов Вашего сервиса, ничто не должно изменять в установке, и Вы не должны волноваться о кэшировании DNS или TTL, но можно все еще использовать в своих интересах циклический алгоритм DNS "выравнивание нагрузки".
Если это работает на апаче, с помощью mpm_prefork
(потому что это - php), затем ядро Linux сбалансирует дочерние процессы между несколькими ядрами.
Если Вы выполняете тех, которые на командной строке, то они не обязательно работают на различных ядрах и делают, затем работает на различных ядрах, требует использования taskset
или cpuset
определить привязку процессора каждого экземпляра к различному ядру.
В теории Вы были бы в порядке путем запущения многих скриптов, равных или меньших, чем количество ядер на сервере, но на практике Вам все еще нужен ЦП для выполнения ядра и другого программного обеспечения/демонов, таким образом, YMMV. Все это затронуто типом приложения, соединений, зависимости к внешнему программному обеспечению и сети и так далее, таким образом, действительно необходимо протестировать на собственной инфраструктуре, чтобы быть уверенными.
Мое понимание таким образом: существует очередь сообщений. Сценарий PHP использует сообщения от этой очереди. Принятые меры варьируются через доступ к диску, сетевую активность и ЦП интенсивные задачи.
(что coredump, сказанный относительно того, чтобы уметь использовать несколько процессов вообще.)
Кроме того, если существует задержка в некоторых задачах (например, говорящий через сетевые каналы), можно даже хотеть больше сценариев, чем количество ядер.
В конечном счете только измерение может сказать. Создайте систему тестирования и куйте ее с реалистическим соединением сообщения. Не имеет значения так, какую систему Вы тестируете на, пока это на самом деле имеет несколько ядер. Виртуальная машина прекрасна; Вы все еще получите достойное чувство того, что происходит, поскольку Вы увеличиваете число потребителей.