Гм. По-вашему выходит «хабраэфект» — 3-4 запроса в секунду?
Порядка 40 запросов в секунду тянет слабый VPS (и там работает связка nginx — java — mysql, ява, естественно, не просто статику отдаёт. про спринг/хибер я в то время ещё не знал).
А вообще — здорово.
В то время, как я просто «хочу попробовать что-нибудь сделать на гугл-апп-энджине», Вы показываете технологию, подогреваете интерес — спасибо :)
А если про второй, то в спеках указано:
* Время сканирования страницы формата А4: 4 сек (при разрешении 200 x 100 dpi), 8 сек (при разрешении 200 x 400 dpi)
С такой скоростью только Электроник умел «от руки» :)
В оригинальной статье «который занимается рассылкой спама и вредоносного ПО через порт 8080» по ходу отсутствует. Там сказано «кто знает, чем может заниматься этот ботнет? может рассылкой спама, а может и распространением вредоносного ПО».
Да и сама англицкая статья не блещет техническими точностями. Для компиляции софта рутовые права совсем не нужны, как и для того, чтобы подвеситься слушать порт 8080.
Но тем не менее компилятор его пропускает. Поэтому всегда найдётся тот, кто напишет такой код. И кто-то другой, кому этот код придётся понять и модифицировать.
Стоит рекомендовать ещё и «Thinking in Java» (Философия Java). Читая буржуйский вариант убивается 2 зайца: более полный текст (русский страниц на 400 короче) + бесплатное изучений английского языка :)
А насчёт чтения с монитора — есть ведь читалки с «электронной бумагой». PDF/DjVu читается «на ура».
На данный момент возник один минус электронных книг — их слишком много. И ограничителя в виде стоимости при возможности скачать с рапиды/торрентов как-то не ощущается.
Мудрые книги рекомендуют использовать реализации ExecutorService и при завершении программы делать shutdownNow(). В таком случае можно поймать InterruptedException и корректно завершиться.
Собственно, пока я не видел тех случаев, где действительно требуется применение daemon-потоков, но, возможно всё ещё впереди.
На одном из гостей можно запустить что-нибудь процессороёмкое (тот же тест на длительное время или просто «while true; do date >/dev/null; done»)
А в другом госте пускать реальный тест. Таким образом он будет вынужден бороться за процессор, будет куча переключений контекста как между гостями, так и внутри.
В статье не смог найти. Тест крутился только на одном госте? То есть борьбы за контекст процессора не было? Мне кажется, что аппаратная реализация виртуализации дала бы бОльший прирост в случае нагрузки на нескольких гостях.
А с disk IO странно. Производительность дисковой подсистемы должна упираться в скорость чтения с железки и проц тут практически не при чём (когда используется DMA). Может, с передачей данных на гостя и предварительным чтением хостом что-то в вбоксе наколдовано :)
Является. Но не всегда мгновенной и окончательной :)
Хотя, код с несколькими вложенными try-catch-finally с отменами и переопределениями return-ов у меня до сих пор с магией ассоциируется
В приведённом примере — да.
Если же в приведённый код добавить запуск ещё одного потока, например t2, но для него не устанавливать флаг daemon, то оба потока продолжат работать после завершения main и до завершения t2.
Немножко не о том. Если не ошибаюсь, была статья о нетривиальных возможностях, где был упомянут один момент с finally (фокус с System.exit).
Свою я написал независимо (несколько дней не заходя на хабр — проявлял силу воли :) ) и перед постингом, естественно читал хабр, чтобы не было дубля
Порядка 40 запросов в секунду тянет слабый VPS (и там работает связка nginx — java — mysql, ява, естественно, не просто статику отдаёт. про спринг/хибер я в то время ещё не знал).
А вообще — здорово.
В то время, как я просто «хочу попробовать что-нибудь сделать на гугл-апп-энджине», Вы показываете технологию, подогреваете интерес — спасибо :)
* Время сканирования страницы формата А4: 4 сек (при разрешении 200 x 100 dpi), 8 сек (при разрешении 200 x 400 dpi)
С такой скоростью только Электроник умел «от руки» :)
Да и сама англицкая статья не блещет техническими точностями. Для компиляции софта рутовые права совсем не нужны, как и для того, чтобы подвеситься слушать порт 8080.
Чем-то напомнило
onjava.com/pub/a/onjava/2003/04/23/java_webserver.html
onjava.com/pub/a/onjava/2003/05/14/java_webserver.html
А насчёт чтения с монитора — есть ведь читалки с «электронной бумагой». PDF/DjVu читается «на ура».
На данный момент возник один минус электронных книг — их слишком много. И ограничителя в виде стоимости при возможности скачать с рапиды/торрентов как-то не ощущается.
Собственно, пока я не видел тех случаев, где действительно требуется применение daemon-потоков, но, возможно всё ещё впереди.
А в другом госте пускать реальный тест. Таким образом он будет вынужден бороться за процессор, будет куча переключений контекста как между гостями, так и внутри.
А с disk IO странно. Производительность дисковой подсистемы должна упираться в скорость чтения с железки и проц тут практически не при чём (когда используется DMA). Может, с передачей данных на гостя и предварительным чтением хостом что-то в вбоксе наколдовано :)
Хотя, код с несколькими вложенными try-catch-finally с отменами и переопределениями return-ов у меня до сих пор с магией ассоциируется
Если же в приведённый код добавить запуск ещё одного потока, например t2, но для него не устанавливать флаг daemon, то оба потока продолжат работать после завершения main и до завершения t2.
Свою я написал независимо (несколько дней не заходя на хабр — проявлял силу воли :) ) и перед постингом, естественно читал хабр, чтобы не было дубля