metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-05-05 10:50 pm

Безумная кложурная жесть

Делаю генератор отчетов, у которого часть работы - запросы к БД и часть - постобработка. Все это работает в фоновых потоках clojure (внутри future) и паралелльно еще несколько потоков (из ScheduledThreadPool и его вариаций из java.util.concurrent) выполняют всякую вспомогательную работу типа "очистить старые данные", "пересчитать изменения пришедшие в очередь в БД".
future в clojure реализованы в том же thread pool что и функция send-off для агентов. Этот thread pool не имеет ограничений по размеру и изначально предполагался для операций, ожидающих i/o, а не cpu-bound. Пока отчет считается в БД - это нормально, но когда начинается постобработка, при превышении некоторого порога количества потоков - возникают совершенно непропорциональные тормоза, типа 30 отчетов одновременно считается за 2 минуты, 64 отчета считаются 30 минут.
Надо как-то более равномерно распределить работу по времени, чтобы количество нагружающих CPU потоков было ограничено, что ли. И вообще, надо как-то осилить профилирование нагрузки, чтобы знать, чем там кложурь и JVM занимаются.

[identity profile] metaclass.livejournal.com 2013-05-05 08:27 pm (UTC)(link)
А есть ли англоязычный ресурс типа хабра?
Я правда сомневаюсь, что где-нибудь, кроме русскоязычного интернета, жизнеспособна идея "дрочить на карму" :)

[identity profile] mehanizator.livejournal.com 2013-05-05 08:49 pm (UTC)(link)
все что в рунете есть - заимствования и копии. дрочить на карму начали в digg еще в 2004

[identity profile] bydl0coder.livejournal.com 2013-05-06 04:00 am (UTC)(link)
Во-во. Метакласс, по ходу, интернет вчера увидел.

[identity profile] prepor.livejournal.com 2013-05-06 02:23 pm (UTC)(link)
или еще предстоит. завтра на стэковерфлоу наткнется.

[identity profile] theiced.livejournal.com 2013-05-05 09:24 pm (UTC)(link)
я не в курсе про аналогично ненужные ресурсы.

[identity profile] golikov konstantine (from livejournal.com) 2013-05-05 10:20 pm (UTC)(link)
в stackoverflow жизнеспособна же
Edited 2013-05-05 22:21 (UTC)

[identity profile] thedeemon.livejournal.com 2013-05-06 04:21 am (UTC)(link)
reddit, hacker news
Оттуда большинство переводимых статей хабровских.