Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Легковесный интернет магазин, да-да, на java
Список форумов
 ->  Основы веб-программирования на Java


На страницу Пред.  1, 2, 3, 4  След. 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 
Ответить с цитатой
Кстати, идея хорошая. Я поддерживаю. Smile
Создадите новую тему? Здесь это наверное будет оффтопиком...

Насчет заданий - раз будет сравнение с PHP, а это все-таки веб-ориентированный язык, предлагаю задания чисто под веб. И без жестких ограничений в выборе технологии - то есть, вы пользуетесь теми библиотеками и фреймворками, которые сочтете нужным, я пользуюсь теми библиотеками и фреймворками, которые сочту нужным.

Одним из заданий предлагаю выбрать легкий онлайн-магазин, с которого все и поехало Smile
_________________
Java и трассировка лучей
К началу Посмотреть профиль Отправить личное сообщение
Pahan : 745
Постоянный посетитель
Откуда: Минск

СообщениеАвг 04, 2011 21:17 
Ответить с цитатой
Вот создал тему для этого http://www.javatalks.ru/sutra124931.php#124931
К началу Посмотреть профиль Отправить личное сообщение
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 и наличия акселераторов (разницу в производительности могу, не особо напрягаясь, организовать стократную ). Wink
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
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 
Ответить с цитатой
s_oleg писал(а):

Вроде как нашел то что хотел: http://code.google.com/p/mybatis/

А чем это лучше, чем DB4O?
К началу Посмотреть профиль Отправить личное сообщение
tender_swallow : 472
Бывалый
Откуда: Ivanovo

СообщениеЯнв 22, 2012 11:47 
Ответить с цитатой
mesier писал(а):
tender_swallow писал(а):
s_oleg писал(а):

Думаю нашел лучшее решение, чтобы не юзать чистый JDBC - MyBATIS, по быстрому накатал простое веб приложение, все достаточно быстро пашет и главное все прозрачно.

А Spring + JdbcTemplate не вариант? Или думает Spring много памяти съест? Сам не знаю просто интересуюсь Rolling Eyes

А никто не знает. Спросил - народ молчит.. Smile
Думаю через месяца два проект поставим на хостинг куда-то - заказчик тоже на свой сервер жмётся - тогда будут выводы какие-то..


Решил поднять тему. Сейчас как-раз озадачен стоит ли Spring IoC/JDBC template/Spring MVC/ использовать для движка блога или все делать на Servlet/JDBC/JSP.

Может кто подскажет сколько дополнительной памяти съест Spring?
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Pahan : 745
Постоянный посетитель
Откуда: Минск

СообщениеЯнв 23, 2012 9:45 
Ответить с цитатой
Не знаю сколько отъедает, это нужно взять и померять. Но я бы на голых сервлетах не писал. Скорее всего писал бы на спринге.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 3 из 4
На страницу Пред.  1, 2, 3, 4  След.
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru