Skip to content

Instantly share code, notes, and snippets.

@lusis
Created March 17, 2011 18:40
Show Gist options
  • Save lusis/874874 to your computer and use it in GitHub Desktop.
Save lusis/874874 to your computer and use it in GitHub Desktop.
a = Noah::Application.create :name => 'run_deck_test_application'
(1..6000).each {|x| a.watch! :endpoint => "http://localhost:1234/#{x}" }
# This part took almost 5 minutes to run but that was okay in this case. One time setup.
a.save # This triggers the callbacks to start firing
D, [2011-03-17T14:36:01.235252 #11126] DEBUG -- : Initializing with 6000 registered watches
D, [2011-03-17T14:36:01.235536 #11126] DEBUG -- : [Noah::Agents::HttpAgent, Noah::Agents::DummyAgent] agents registered
I, [2011-03-17T14:36:01.235762 #11126] INFO -- : Callback: Succeed callback
D, [2011-03-17T14:36:01.236979 #11126] DEBUG -- : Starting up
I, [2011-03-17T14:36:40.597219 #11126] INFO -- : http: Worker initiated
D, [2011-03-17T14:36:40.597441 #11126] DEBUG -- : http: got event - //noah/application/run_deck_test_application
D, [2011-03-17T14:36:40.906088 #11126] DEBUG -- : http: Found 6000 possible matches for //noah/application/run_deck_test_application
I, [2011-03-17T14:36:40.906467 #11126] INFO -- : http: Sending message to (http://localhost:1234/2069) for pattern (//noah/application/run_deck_test_application)
I, [2011-03-17T14:36:40.907250 #11126] INFO -- : dummy: Worker initiated
D, [2011-03-17T14:36:40.907388 #11126] DEBUG -- : dummy: got event - //noah/application/run_deck_test_application
D, [2011-03-17T14:36:41.176579 #11126] DEBUG -- : dummy: Found 6000 possible matches for //noah/application/run_deck_test_application
.....
E, [2011-03-17T14:36:48.241622 #11126] ERROR -- : http: Something went wrong with http://localhost:1234/4659
E, [2011-03-17T14:36:48.241826 #11126] ERROR -- : http: Something went wrong with http://localhost:1234/5389
[10377] 17 Mar 14:19:28 - DB 0: 5 keys (0 volatile) in 8 slots HT.
[10377] 17 Mar 14:19:28 - 1 clients connected (0 slaves), 799904 bytes in use
.......
[10377] 17 Mar 14:23:11 - DB 0: 18008 keys (0 volatile) in 32768 slots HT.
[10377] 17 Mar 14:23:11 - 1 clients connected (0 slaves), 12774832 bytes in use
10377] 17 Mar 14:54:57 - DB 0: 18013 keys (0 volatile) in 32768 slots HT.
[10377] 17 Mar 14:54:57 - 0 clients connected (0 slaves), 12734608 bytes in use
jvincent@jvincent-MacBookPro:~/development/noah/bin$ grep "Sending message" rundeck-test.log | wc -l
6000
jvincent@jvincent-MacBookPro:~/development/noah/bin$ grep "Something went wrong" rundeck-test.log | wc -l
6000
@lusis
Copy link
Author

lusis commented Mar 17, 2011

I was asked if Noah could handle 6000 concurrent callbacks within seconds. This is an optimal situation (all localhost http callback traffic). looks like 7 seconds total for em-http-request to do its job.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment