IRC Logs for #circuits Sunday, 2015-11-29

*** Coldblackice has quit IRC01:23
spaceoneit would be nice if there would be an event which is evaluated when the server is idling01:25
spaceoneprocess*01:25
*** Coldblackice has joined #circuits01:27
spaceoneprologic: what do you think about this benchmark of circuit.http: http://cxg.de/_cebe15.htm ?02:29
spaceonewhich tools did you use for circuits.web=02:29
spaceone?02:29
*** linkedinyou has quit IRC02:49
prologicspaceone: koobs and I benchmarked a raw (http only) circuits.web a few yaers ago at something like 8k req/s or so on an 8-core bsd system (finely tweaked) with circuits.web in multi-process mode (naive load balancing)03:09
prologicso I don't find 28 req/s *that* good :)03:09
prologicbut of course; it depends on how much "extra" processing you do on top of just the basics of HTTP03:10
prologice.g: BaseServer is always faster than Server because the later includes form parsing, query string handling, etc03:10
prologicmy ideal (dream) framework is one such that I can apply these "extra" things when and iif only when I need them and never more03:11
prologicalso re an idle event03:11
prologiccould this be a generic sort of thing?03:11
prologici.e: the system in general (any system) fires an idle() event every now and again when it detects no events to be processed and idleness? (question is ofc how?)03:12
prologicreason I'm thinking of something more generic; is that we do the complete opposite already. we completely sleep/idle when there is nothing to do so we consume next to zero (0) cpu time03:12
prologicthe generate_events() event is what I'm talking about03:13
An_Ony_Moosehow about firing an idle event as soon as there are no events left queued, and leaving it up to the programmer using circuits to fire regular events within an idle period?07:59
spaceoneprologic: An_Ony_Moose: I meant it the other way round. Sorry, for the wrong expression. I want to fire a event which is executed when the process is really only idling.08:37
spaceoneprologic: regarding 'extra' processing: the server does everything, query string, evaluate all HTTP headers, use genshi for HTML template rendering, ... within 1 process without threads08:38
spaceone1 cpu08:39
spaceonewith 600 mhz08:39
spaceoneand the process runs in the foreground writing the access log, I don't know it this matters much08:40
spaceoneI am afk now, be back at 16 o'clock08:40
spaceone(in 6 hours)08:40
spaceoneprologic: if you have any code of the banchmarks you did I would be happy. Maybe I can do the same then.08:43
*** linkedinyou has joined #circuits13:58
*** Coldblackice has quit IRC15:12
*** zacdev has joined #circuits15:46
*** Workster has quit IRC16:50
*** oxvuygxrcqjqjtbw has joined #circuits16:50
*** Workster has joined #circuits16:50
prologicAn_Ony_Moose: wouldn't that be more of an no_more_events() or empty() event? :) Rather than we_are_idle()17:25
prologicspaceone: then if it's doing all that; that's probably "pretty good" then. comparable to other full-stack python web frameworks17:26
spaceoneoh nice17:27
spaceoneprologic: but i want to have the same metrics as circuits.web (to also proove that the implementation is worth it)17:28
prologicsure18:14
prologicfor that we would have to capture metrics on circuits.web18:15
prologicwell even circuits itself18:15
prologicsomething I've wanted to do for a while actually; measure regressions or (hopefully) improvements in raw performance18:16
spaceonebtw. it feels like the ssl-handshake change slows circuits down. at least a TLS connection as client takes very long with current spaceone:master and is completely broken with circuits:master18:22
prologicby slow; do you mean the event loop is getting blocked?18:28
prologicI don't think we've completely solved this async ssl handshake issue yet18:28
prologicwhen we do it should be completely async and should have no observable performance affect on anything else18:29
spaceoneslow means that it needs 5 seconds to connect to a server where the certificate is not trusted by the systems ca-certs18:30
spaceoneconnecting to google.com is fast, connecting to foo.intranet is slow18:31
spaceoneand this was both fast before the patch18:32
prologicyes well before this fix we didn't handshake ssl very well at all18:37
prologicin fact I think we entirely blocked the event loop18:38
prologicso we'll have to fix the slowness there too :)18:38
prologicI do have my stuff finally; but waiting on some shipments from Amazon so I can actually power it all up :)18:38
prologicbbl - going out with family18:38
spaceoneok18:42
An_Ony_Mooseprologic: "we are now idle" :P18:44
*** Coldblackice has joined #circuits18:46
spaceoneapache slows down my server by 20%19:51
*** zacdev has quit IRC20:25
*** techdragon has quit IRC21:11
*** Romster has quit IRC21:11
*** An_Ony_Moose has quit IRC21:11
*** Romster has joined #circuits21:14
*** An_Ony_Moose has joined #circuits21:28
*** techdragon has joined #circuits21:30
prologicAn_Ony_Moose: how did you know? :)22:03
prologicI have a heuristic in my head and have toyed with several algorithms; but nothing concrete at this time22:03
prologicFor example I toyed with the idea of dynamic I/O pollers such that the time spent sleeping (the select() timeout) is reduced as the I/O load goes up and increased as it does down22:04
prologicOfc if anyone wants to toy with building a component that triggers a system_idle() or idle() event; feel free! Be happy to see a working PR :)22:05
prologicI don't even think any core code needs to change22:05
*** sysanthrope_ has joined #circuits22:14
*** An_Ony_Moose has quit IRC22:18
*** sysanthrope has quit IRC22:19
prologic14:02 <@prologic> An_Ony_Moose: how did you know? :)22:34
prologic14:03 <@prologic> I have a heuristic in my head and have toyed with several algorithms; but nothing concrete at this time22:34
prologic14:04 <@prologic> For example I toyed with the idea of dynamic I/O pollers such that the time spent sleeping (the select() timeout) is reduced as the I/O load goes up and increased as it does down22:34
prologic14:05 <@prologic> Ofc if anyone wants to toy with building a component that triggers a system_idle() or idle() event; feel free! Be happy to see a working PR :)22:34
prologic14:05 <@prologic> I don't even think any core code needs to change22:34
*** An_Ony_Moose has joined #circuits22:47
*** sysanthrope_ has quit IRC22:58
*** sysanthrope has joined #circuits22:58
*** sysanthrope has quit IRC23:00
*** sysanthrope has joined #circuits23:00
*** nizzox has joined #circuits23:40

Generated by irclog2html.py 2.11.0 by Marius Gedminas - find it at mg.pov.lt!