Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Tomcat + многоядерные процессоры


Автор: Seh 7.2.2008, 19:44
Всем доброго времени суток.

У нас ведется разработка среднего проект на java + tomcat + mysql + UNIX, теперешний хостинг нас перестал устраивать (обычный VPS), хотим перейти на dedicated. Если брать dedic, то это будет скорее всего 4-х ядерная серверная машина. 

Вопрос в следующем: на сколько я знаю все unix, это процессоориентированные системы (т.е. процессорное время делится на число процессов), а java (и на нейже томкат) выполняется как единый процесс, так вот, будет ли java использовать все 4 ядра? Нужны ли будут какие нибудь дополнительные настроки, чтобы каждый пользовательский запрос к томкаты, порождал новый процесс (как у web сервера apache).

Буду ждать ответов.

Автор: Sardar 7.2.2008, 19:54
Java использует light-weight процессы (изначально в Solaris), либо реальные треды. Другими словами Java мэпит свои треды на реальные треды и действительно использует все ядра/процессоры. По крайней мере в Solaris/(*nix с pthreads или подобным)/Windows.







Автор: Seh 8.2.2008, 10:56
Спасибо за ответ, но еще не до конца проснился такой момент: реальные треды на unix (конкретно интересует CentOS или Fedora) внутри одного процесса могут одновременно выполняться на нескольких ядрах?

На сколько я помню,  pthreads используется во всех unix'ах.

Автор: ibodrov 8.2.2008, 11:08
Могут. Tomcat прекрасно себя чувствует и на 32-х ядрах. 

Автор: Sardar 8.2.2008, 11:52
Цитата(Seh @  8.2.2008,  09:56 Найти цитируемый пост)
реальные треды на unix (конкретно интересует CentOS или Fedora) внутри одного процесса могут одновременно выполняться на нескольких ядрах?

Последние лет 10 точно могут, чистые fork only системы сейчас по моему не встретить.

Автор: Seh 8.2.2008, 14:15
Ок. Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)