analizer
08.07.2011 15:47 mcabber
Разработка хорошего сервиса состоит из двух частей: сначала всю функциональность реализуют как стопицот мелких демонов общающихся между собой через lo. А когда они перестают падать и начинают тормозить — сливают в единый бинарь.
нормальные же люди сразу берут эрланг.
высер одного из таких «нормальных» людей я сегодня положил всего лишь одним потоком запросов. так что — нахуй
значит он был не нормальный.
как он умудрился сделать это на эрланге?
спроси у авторов rabbitmq
да ты охуел.
да я его положил. всего 27 гигов на него попытался отправить в одно соединение, а он на 14 гиге начал тормозить шописец. и продолжал жрать ядро проца ещё долго после того как отправку данных оборвали
видимо просто очередь переполнилась, видимо оттого на том конце запор вышел и все дела.
вообщем это нормальное поведение, а ты магии захотел?
нормальное поведение — это обработка данных с одинаковой скоростью всегда, а не bottleneck в произвольный момент, когда поделие решило что у него очередь переполнилась
т.е. ты признался что не в курсе что там случилось. быть может какой-нибудь говнодемон запустился и не дал хорошему rabbitmq поработать, когда это ему так необходимо. и все дела. а повторный тест был?
если верить top'у, то имя говнодемону — rabbitmq. и не пизди о том в чём я признавался.
есть ещё iotop.
а твои признания задокументированны, если ты их не удалял.
по iostat — диски курили, покуда rabbitmq продолжал при отсутствии данных выжирать одно ядро.
ну это было уже потом, после катастрофы, а всё интересное произошло до.
а до — выжирал четверть диска.
э, ёба, чего язык проглотил, давай дальше говноязык оправдывай!
Ай не пизди. Сломать-то любой идиот сможет. А данных ты не собрал, хуле тут обсуждать.
какие конкретно данные тебе нужны?
Повторный эксперимент, параметры слива например.
параметры слива: библиотекой rabbitmq-c миллион раз отправили документ usage.doc из этого пакета: http://rpm.pbone.net/index.php3/stat/4/i...
не, с другой стороны rabbitmq что находилось?
многоядерная тачка с быстрыми дисками. что конкретно тебя интересует?
очевидное предположение что это она создала проблему.
также какой транспорт.
железа хватит на многие миллионы запросов вперёд для нормальных программ. что ты подразумеваешь под транспортом?
да срал я на железо. из какого говна был потребитель слеплен? и по каком протоколу он получал. может весь поток конвертирся в base64, тогда всё понятно было бы.
ты может не в курсе, но rabbitmq работает только по amqp протоколу, версии 8-1, если мне память не изменяет.
rabbitmq-jsonrpc-channel — AMQP-over-HTTP protocol binding
например.
вспомнил что @utros сегодня рекламировался как охуенный фанат и знаток ирлонга. вот и кастуй его сюда.