Неблокирующие UDP

November 3, 2016

4 года назад я зажегся вот этим постом - Pssst... your Rails application has a secret to tell you и тут же начал отправлять метрики в HostedGraphite.

Подключил, прямо как в документации:

require 'socket'

sock = UDPSocket.new
sock.send "YOUR-API-KEY.foo 1.2\n", 0, "carbon.hostedgraphite.com", 2003

Но внезапно сайт стал скручивать ласты. Думаю вы уже догадались, хотя UDP-сообщения неблокирующие, а запросы к DNS еще как блокирующие. У хостера начались проблемы с DNS и сайт стал тормозить даже на маленькой нагрузке. Так что с хостед версией графита у нас не срослось. Увы.

comments powered by Disqus