Комментарии 20
Кто мешает запускать и останавливать sasl во время работы приложения? Со стороны VM, sasl и любое другое приложение (включая наш «сервер») находятся на одной ступени иерархии и взаимодействуют через VM.
Ой, ну этого бы очень не хотелось. Во первых этого не достаточно, так, как sys.config читается процессом init а не sasl, а во вторых на sasl навешано еще других функций, которые не хотлеось бы прерывать. например — лог файлы, или слежение за переполнением памяти и диска.
а использовать application:set_env() как-то страшновато, учитывая, что про него пишут в документации.
а использовать application:set_env() как-то страшновато, учитывая, что про него пишут в документации.
так, а как это согласовывается с балансировщиком нагрузки в самом ерланге? (могу ошибаться)
я имею ввиду когда запущено несколько нод и одна нода занимается раскидыванием кода и запросов по подчиненным нодам.
и еще какова сферическая конфигурация оборудования, которое выдерживает 300 запросов/сек?
я имею ввиду когда запущено несколько нод и одна нода занимается раскидыванием кода и запросов по подчиненным нодам.
и еще какова сферическая конфигурация оборудования, которое выдерживает 300 запросов/сек?
В нашем случае баласировщик нагрузки был выше, в радиус сервере. Там можно настроить чтобы нагрузка распределялась равномерно между модулями(радиусовскими) и если нода отказывается принимать запрос (ну или с ней потерялась связь) запрос уйдет к другой ноде. Если все ноды отказали — радиус ответит циске, что «извини, не могу отбработать твой аккаунтитнг».
По поводу 300 запросов — для эрланга это далеко не предел. У нас такое ограничение появилось потому что тяжелая обработка запроса — требует от 0 до 3 запросов в постгрес базу.
А железо там — обычный 32 разрядный компьютер с 2 гигами памяти и amd phenom если не ошибаюсь.
По поводу 300 запросов — для эрланга это далеко не предел. У нас такое ограничение появилось потому что тяжелая обработка запроса — требует от 0 до 3 запросов в постгрес базу.
А железо там — обычный 32 разрядный компьютер с 2 гигами памяти и amd phenom если не ошибаюсь.
вру про феном, интел какой-то
если не секрет почему не Mnesia как БД?
мне пришла мысль, что можно собрать кластер на бюджетных машинах и расширять его путем включения в розетку и заливку образа :)
мне пришла мысль, что можно собрать кластер на бюджетных машинах и расширять его путем включения в розетку и заливку образа :)
потому что постгрес там появился намного раньше, чем эрланг. И идея была перенести часть того, что делалось в хранимках на постгресе в отдельный эрланг процесс. С улучшениями и балансировкой разумеется.
те если бы сейчас делали проект с 0 то там была бы Mnesia?
нет. Я делал нагрузочные тесты, мнезия держит нагрузку на нашем workload только на dirty операциях. Скорее была бы кассандра или что-то типа того.
Mnesia в работе не настолько хороша, как кажется. У нее отличная идея, и весьма заманчиво иметь распределенное хранилище из коробки.
Но на практике, лучше использовать сторонние решения. Например, mongo.
Но на практике, лучше использовать сторонние решения. Например, mongo.
так, а как это согласовывается с балансировщиком нагрузки в самом ерланге? (могу ошибаться)
я имею ввиду когда запущено несколько нод и одна нода занимается раскидыванием кода и запросов по подчиненным нодам.
На каждом экземпляре VM свой экземпляр SASL.
и еще какова сферическая конфигурация оборудования, которое выдерживает 300 запросов/сек?
Все зависит от того, что делают запросы.
Кроме overload еще есть os_mon с помощью которого можно мониторить процессор, диски и память.
Я правильно понимаю, что ответ функции зависит исключительно от частоты её вызовов перед этим?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
sasl:overload. Или — «не кладите в тарелку больше, чем она может вместить»