|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
tender_swallow : 472 Бывалый Откуда: Ivanovo
|
Авг 04, 2011 9:45 |
|
|
| Dagdamor писал(а): |
| Цитата: |
| А java сервер со всеми развернутыми на нем web приложениями является единой программой(1 процесс). |
То есть, допустим, один клиент спровоцировал сбой томката |
Не совсем понятно, что Вы подразумеваете под сбоем Томката. Если упадет сам Томкат, например OutOfMemory, то тогда все клиенты станут неработоспособны. Но на каждый HTTP запрос к сервлету создается свой поток, если сервлет конечно не помечен как SingleThread
Таким образом если ошибка произойдет в потоке одного запроса, то только данный поток прервется и всего один клиента получит ошибку. |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Авг 04, 2011 10:17 |
|
|
| Цитата: |
| То есть, допустим, один клиент спровоцировал сбой томката (скажем, ошибку сегментации) - ядро снимает процесс целиком и все 50 посетителей |
Написать что то, чтобы прямо процесс java срубило почти нереально, это считай найден новый баг виртуальной машины. Ну может только tckb через JNI.
А вот на счет исключений типа OutOfMemory даже затрудняюсь сказать. Надо проверять. По идее сервак просто должен вернуть статус 500 и описание ошибки. И процесс должен остаться невредимым. |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Авг 04, 2011 11:12 |
|
|
| Dagdamor писал(а): |
| А 50 клиентов на джаве потребуют уже 4 гиг оперативы - конечно, такого ни один сервер не выдержит, хоть экономь, хоть не экономь. |
Сами меряли? Или с потолка взяли?
Я, например, анализировл кучу с production-приложения. 1.6Г, активных клиентов на момент снятия дампа - около 250, клиентов в состоянии hibernated (последняя активность больше 15 минут назад) - около 800. И это при том, что у данного конкретного приложения были определенные проблемы с памятью, мы его как раз профилировали. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Авг 04, 2011 11:20 |
|
|
| Dagdamor писал(а): |
| То есть, допустим, один клиент спровоцировал сбой томката (скажем, ошибку сегментации) - ядро снимает процесс целиком и все 50 посетителей одновременно получают белый экран? :/ |
Tomcat - это не PHP. И segmentation fault у него спровоцировать не получится.
Tomcat - java-приложение. Многопоточное. Теоретически можно свалить в production-е JVM, однако я за восемь последних лет работы с серверами такое видел один раз, на виртуальной машине IBM. А падение кода в любом потоке ведет к завершению потока, причем без влияния на остальные. Более того, пул незамедлительно создаст новый поток взамен упавшего. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Авг 04, 2011 11:24 |
|
|
| Pahan писал(а): |
| А вот на счет исключений типа OutOfMemory даже затрудняюсь сказать. Надо проверять. По идее сервак просто должен вернуть статус 500 и описание ошибки. И процесс должен остаться невредимым. |
Процесс останется невредимым. Если произойдет какое-то событие и память освободится, то tomcat продолжит работу. OutOfMemory - это не критичная ошибка, убивающая всё и всех, это реакция на определенные действия (попытку запроса памяти больше, чем есть в данный момент, в тонкости работы сборщика вдаваться не буду). Эту ошибку, кстати, можно и перехватить, и обработать. А если сборщик успеет собрать достаточно, чтобы освободить нужный объем памяти - последующий запрос пройдет и не зажужжит. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
Dagdamor : 406 Бывалый
|
Авг 04, 2011 19:58 |
|
|
| Skipy писал(а): |
| Tomcat - это не PHP. |
Вот это вы сравнили! Теплое с мягким. Тогда бы уж сравнивали томкат с апачем, по крайней мере, и там вебсервер, и там вебсервер.
А PHP - это язык программирования, если что.
| Цитата: |
| И segmentation fault у него спровоцировать не получится. |
Мой опыт показывает, что при пиковых нагрузках на сервер возможно все. Апач и mod_php - невероятно мощная и эффективная связка, и адепты PHP вам заявят то же самое - что "segfault у него спровоцировать не получится", на деле же все сложнее - чем сложнее система (а томкат куда сложнее апача), тем ненадежнее она. _________________ Java и трассировка лучей |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Авг 04, 2011 20:43 |
|
|
| Холивар начинается, а языком чесать дело пустое, так что на тему что лучще java или php не писать. Если есть php програмист(ы) желаюший померятчся силами на деле, то это пожалуйсто. Создадим тестовые задания, чтонибудь типа одно от java-шников одно от php-шников и так далее. И проверим на реальных машинах, выложим реальные данные. |
|
|
|
 |
Dagdamor : 406 Бывалый
|
Авг 04, 2011 20:52 |
|
|
Кстати, идея хорошая. Я поддерживаю.
Создадите новую тему? Здесь это наверное будет оффтопиком...
Насчет заданий - раз будет сравнение с PHP, а это все-таки веб-ориентированный язык, предлагаю задания чисто под веб. И без жестких ограничений в выборе технологии - то есть, вы пользуетесь теми библиотеками и фреймворками, которые сочтете нужным, я пользуюсь теми библиотеками и фреймворками, которые сочту нужным.
Одним из заданий предлагаю выбрать легкий онлайн-магазин, с которого все и поехало  _________________ Java и трассировка лучей |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Авг 04, 2011 21:17 |
|
|
|
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Авг 05, 2011 15:30 |
|
|
| Dagdamor писал(а): |
| Skipy писал(а): |
| Tomcat - это не PHP. |
Вот это вы сравнили! Теплое с мягким. |
Ну, сравнивать начали Вы. Когда заговорили о сравнении нагрузки и потреблении памяти тем и другим.
| Цитата: |
| Мой опыт показывает, что при пиковых нагрузках на сервер возможно все. Апач и mod_php - невероятно мощная и эффективная связка, и адепты PHP вам заявят то же самое - что "segfault у него спровоцировать не получится", на деле же все сложнее - чем сложнее система (а томкат куда сложнее апача), тем ненадежнее она. |
А мой опыт показывает, что Вы не вполне владеете предметом. Apache Httpd и Tomcat - это два очень разных приложения. У них даже принципы функционирования разные. И apache свалить на порядок легче, чем tomcat - у него существенно больше native-часть. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
Brim.ru : 659 Постоянный посетитель Откуда: Роcсия/Москва
|
Авг 06, 2011 13:34 |
|
|
| Pahan писал(а): |
| Всегда хотел тесты поделать java vs PHP чтобы сравнить. Можно как раз устроить придумать задания да потестить. |
- производительность PHP-кода очень сильно зависит от настроек Apache+PHP и наличия акселераторов (разницу в производительности могу, не особо напрягаясь, организовать стократную ).  |
|
|
|
 |
antony : 101 Новичок
|
Авг 08, 2011 19:05 |
|
|
В общем, совсем недавно столкнулся с такой же проблемой, нужно было сделать магазин. Я смотрел существующие решения, на этот процесс, выкачивания, собирания, я потратил около 4 дней. Большинство решений было просто overkill, некоторые огромные мультимодульные мавенские проекты, с прикрученнм Lucene и т.п. Порой их было даже тяжело собирать, не то, чтобы кастомизировать. Некоторые написано, что просто ппц как и разбираться в этом желания не было.
В итоге я всё плюнул и сделал за 1 день на wordpress + плагин e-commerce для него. Переписав часть, что мне нужно было и всё замечательно заработало.
Если же писать самому и писать с нуля, но я бы посоветовал посмотреть в сторону Play framework, сейчас с ним работаю. Для простых приложений вроде магазина - это самое то. Это значитально удобнее чем j2ee, spring, guice и прочие вещи. Фактически можно за неделю написать полноценный магазин с админкой. Особенно радует CRUD модуль, который генерится самостоятельно (т.е генерится что-то вроде адмикни) |
|
|
|
 |
skywriter : 46 Новичок
|
Авг 09, 2011 10:08 |
|
|
А чем это лучше, чем DB4O? |
|
|
|
 |
tender_swallow : 472 Бывалый Откуда: Ivanovo
|
Янв 22, 2012 11:47 |
|
|
| mesier писал(а): |
| tender_swallow писал(а): |
| s_oleg писал(а): |
Думаю нашел лучшее решение, чтобы не юзать чистый JDBC - MyBATIS, по быстрому накатал простое веб приложение, все достаточно быстро пашет и главное все прозрачно. |
А Spring + JdbcTemplate не вариант? Или думает Spring много памяти съест? Сам не знаю просто интересуюсь  |
А никто не знает. Спросил - народ молчит..
Думаю через месяца два проект поставим на хостинг куда-то - заказчик тоже на свой сервер жмётся - тогда будут выводы какие-то.. |
Решил поднять тему. Сейчас как-раз озадачен стоит ли Spring IoC/JDBC template/Spring MVC/ использовать для движка блога или все делать на Servlet/JDBC/JSP.
Может кто подскажет сколько дополнительной памяти съест Spring? |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Янв 23, 2012 9:45 |
|
|
| Не знаю сколько отъедает, это нужно взять и померять. Но я бы на голых сервлетах не писал. Скорее всего писал бы на спринге. |
|
|
|
 |
|
|
|