А вы уверены что ограничения Java машины на процесс не выкинут вовремя исключение о том что память кончилась и никакого падение в своп не будет?
Мне кажется это логичной мерой. ведь в Java использование памяти жестко лимитируется.
А как раз не надо просить слишком много памяти, т.к. виртуальная машина отдаст Out of memory. Но вот если попросить МНОГО памяти, но все же чуть меньше чем лимит, то выбрать несколькими потоками всю имеющуюся память у виртуальной машины довольно легко.
Я в другом у них уязвимость нашёл. Отправил, так же сказали учтут. Но публиковать пока не буду, уж больно она каверзная. По телефону горячей линии оператор вообще не поняла о чём речь. Но там дело обстоит игрой с датой отправки.
Хотя в этой организации, думаю пока жаренный петух не клюнет. Не дёрнутся.
Аппаратный сбой HDD из-за большого кол-ва операций.
А почему, вы думали, падают кластеры/облака и почему их так долго поднимают?
Когда падает часть кластера, на остальные узлы попадает чрезмерная нагрузка, из-за которой отказывает аппаратура на новых узах. И так далее — цепная реакция. Пока не придет «лесник» и всех разгонит остановит работу всего кластера, перенастроит и запустит в щтатном режиме.
Вроде кластеры на то и нужны чтобы резерв давать при таких ситуациях. А сбой HDD в таких системах должен быть тем более предсказуемо резервируемым событием.
У любой системы есть предел устойчивости. И любую систему делают с неким запасом по прочности, но не более, чем это целесообразно. И кластеры тоже имеют предел. Когда есть 1 сервер под DDoS'ом, то он под такой дикой нагрузкой может проработать, допустим в среднем 3 дня, то когда есть 1000 серверов, каждый час вылетает (грубо) по 14 серверов. В кластере не делают сверх надежных узлов, потому что это 1) дорого 2) не нужно. Делают с определенным запасом, но не более того.
Я так и не понял, откуда вы выводите зависимость времени работы сервера от его нагрузки. Единственный вариант, который я знаю — это херовые БП, которые при нагрузке проседают по напряжению. Но это мир лоукостных десктопов, а не серверов.
В кластерах обычно используют то же железо, что и для обычных серверов, просто потому, что так проще. Типичные юнитовые/полуюнитовые платформы. В стоимости эксплуатации железо, конечно, играет некоторую роль, но не самую значительную, ибо плотность размещения и эксплуатационные расходы выше.
«аппаратный сбой HDD из-за большого числа операций»? Извините, вы несёте чушь. throttling — да, лаги — да. Я ни разу не видел «аппаратных сбоев» из-за большого числа операций. Причина проста — если в диске забить очередь заданий, то он просто перестанет принимать новые, пока не выполнит старые. Таким образом, никаких «аппаратных сбоев» там быть не может — диск будет делать столько операций, сколько может (и весь мир подождёт).
Увы. Дело нескольких минут — внести изменения в код. Вынести на боевой сервер — может занимать часы. С учетом тестов, согласований и прочего. Тут конечно бюрократия наносит страшный удар по пользователям.
Сначала человек, отвечающий за прием сообщений с сайта, сообщит об этом главному по ИТ.
Тот прочтет письмо только через день и перенаправит его главному по веб. Главный по веб выйдет из отпуска через несколько дней и назначит «ASAP-пипецсрочно-приступитьнемедленно» таск разработчику.
Тот офигеет от такого события, особенно не поняв с чего такой кипеш по поводу каких-то банальных проверок левых парамтеров. Но на следующий день пофиксит (скорее всего только в этом месте и только половину уязвимостей)
Дальше это все пойдет в отдел QA, который вообще не поймет в чем проблема, «картинка же показывается!»
Ну и потом все это пойдет по цепочке наверх, чтобы сформировать очередную итеррацию по выкладыванию фикса на продакшн.
Чтоб еще страшнее было — могу рассказать, как случайно выложат какие-то левые изменения относящиеся к еще не реализованной фиче, скрипт еще денек не будет работать и т.д. и т.п.
Хотя, может это я такой пессимист и у них там все будет хорошо )))
Адрес заливки, кстати, может быть проще: http://zakupki.gov.ru/pgz/documentform (несуществующие параметры самостоятельно принимают там значение «null»).
Когда просто отфильтровать параметры запроса недостаточно или о вреде универсальности