Сервер 1 отвечает на входящие запросы от ваших пользователей.Так что, если вы определили, что это узкое место, то вам нужно сосредоточить внимание на этом.
Если серверы 2 и 3 выполняют только запросы к Интернету, то они, вероятно, не слишком загружают процессор/ диск мудрый.
Если у вас есть 2 сервера, настроенных для выполнения достаточно простой задачи, и ваш основной сервер, работающий с пользователем, перегружен, может быть лучше просто запустить все 3 сервера как пользовательский.
Из того, что вы описали, звучит так, что Сервер № 1 блокирует ответ от серверов 2 и 3, что означает, что он потенциально должен держать открытыми многие соединения.Если серверы 2 и 3 на самом деле не так уж много работают, потому что их задача - просто интернет-запросы, вам, вероятно, будет лучше обслуживать объединение серверов, обращенных к пользователю, и механизм запросов в один сервер и распределение нагрузки пользователя на все 3 сервера..
Таким образом, каждый сервер имеет меньше открытых пользовательских соединений.И механизм запросов все еще не использует ресурсы (если это просто веб-запросы), поэтому он не оказывает негативного влияния на производительность пользователей.
Просто некоторые мысли для вас.Невозможно быть полностью определенным, не зная больше о вашем приложении.
Дополнительные комментарии
Как уже упоминалось в комментариях, вы должны посмотреть на правильный балансировщик нагрузки, хорошее оборудованиеБалансировщик нагрузки является первой рекомендацией.Где вы работаете со своими серверами?Если они находятся в облачном центре обработки данных, таком как Amazon EC2, Rackspace и т. Д., Вам легко доступны службы балансировки нагрузки.
Вы также можете использовать программный балансировщик нагрузки.Apache обеспечивает эту функциональность даже:
http://httpd.apache.org/docs/current/mod/mod_proxy_balancer.html
Даже с вашей текущей конфигурацией можно было бы установить Apache перед одним из серверов, а затем настроить его так, чтобы сервер с Apache(выполняет балансировку нагрузки) получает меньший процент трафика, чтобы компенсировать расходы сервера Apache.В этом случае у вас нет аппаратных изменений.Хотя у вас есть очевидная единственная точка отказа, не отличающаяся от той, которая у вас есть сейчас, надлежащий балансировщик нагрузки обычно устраняет проблему единственной точки отказа, которая у вас есть в настоящее время в вашей архитектуре.