Обычно используемые версии Ruby (MRI или YARV, то есть 1.8 или 1.9) не могут использовать более одного ядра одновременно.МРТ однопоточный и просто обеспечивает зеленые нити внутри.YARV использует реальные потоки ОС, но имеет GIL (глобальную блокировку интерпретатора), которая обеспечивает одновременную работу только одного потока.
Таким образом, ваши шавки не могут использовать более одного ядра каждый (даже еслизакодировал ваше Rails-приложение для обеспечения безопасности потоков).Существуют альтернативные реализации Ruby, такие как JRuby или Rubinius, которые предоставляют собственные потоки без глобальной блокировки интерпретатора и, таким образом, позволяют вашему приложению использовать более одного ядра, но вам, вероятно, придется немного адаптировать свое приложение.Тем не менее, даже тогда один запрос будет выполняться в одном потоке и, следовательно, использовать только одно ядро.Но это трудно понять, если вы не будете обрабатывать свои собственные потоки (или, по крайней мере, волокна в 1.9), что, скорее всего, не стоит хлопот.
Поэтому обычно рекомендуется запускать несколько серверов приложений.процессы (шавки в вашем случае).Я лично использую около 1,5 - 3 на ядро (в зависимости от приложения).Таким образом, вы сможете отвечать на множество параллельных запросов и в полной мере использовать доступную мощность процессора, разделяемую между ними.