Saturday, 23 February 2013< ^ >
arjan has set the subject to: Zotonic - the Erlang Content Management Framework
Room Configuration

[00:28:20] <Andreas Stenius> Maas: I pushed a new m.stats model to kaos/zotonic/z_stats.. :)
[00:28:23] Andreas Stenius leaves the room
[09:17:44] Arjan joins the room
[10:15:25] Maas joins the room
[10:18:45] <Maas> Thanks! That's great, will check it this evening. The day is packed with other fun stuf.
[10:22:37] <Maas> I've also created mod_sparky a month ago.. That allows you to create sparklines... Made with this library.. http://prag.ma/code/sparky/ Would be nice for an overview page I think.
[10:41:30] Maas leaves the room
[10:41:46] Maas joins the room
[12:40:07] Arjan leaves the room
[12:42:00] Arjan joins the room
[12:47:37] Maas leaves the room
[12:54:19] Maas joins the room
[13:57:47] Maas leaves the room
[15:34:43] Maas joins the room
[15:38:06] Andreas Stenius joins the room
[15:40:40] <Andreas Stenius> interesting.. :)
[15:41:39] <Andreas Stenius> I'll take a stab at a mod_admin_stats for a admin page giving the stats for a single site using nvd3, see how that goes.. ;)
[15:45:04] <Maas> Cool... Btw, folsom has also a handy query api. I've tagged the counters and histogram with the hostname...
[15:48:02] <Maas> Mod base also has the google charts scomps.
[15:48:34] <Maas> But then all data goes to google.
[15:48:52] <Andreas Stenius> yeah, I'd like to not use google, if possible.. :p
[15:49:18] <Andreas Stenius> I noticed the tagging api in folsom, but wasn't aware that you'd tagged them.. thats cool
[15:49:28] <Maas> Maybe we should move them to mod_google_charts
[15:49:32] <Andreas Stenius> since the hostname is in the metric key, I thought you only had it there
[15:49:59] <Andreas Stenius> may be that there's a bit too much in mod_base.. ;)
[15:50:07] <Maas> You have to tag per host too to differentiate
[15:50:21] <Andreas Stenius> true
[15:51:05] <Andreas Stenius> so it may be more efficient to get all metrics using a host tag, than to get all metrics on the entire node, and filter that list to the desired host..
[15:51:17] <Andreas Stenius> as it is done now..
[15:51:38] <Andreas Stenius> anyhow, that's easy enough to mend afterwards.. :p
[15:51:54] <Maas> Indeed, that is fun isn't it?
[15:53:03] <Andreas Stenius> uh? you lost me :)
[15:53:42] <Maas> Playing around with the stats I mean.
[16:04:46] <Maas> Experimenting a bit.
[16:05:05] <Andreas Stenius> ah, yes, indeed :)
[18:39:46] Maas leaves the room
[18:55:49] Maas joins the room
[18:59:48] <Maas> Downloading my posterous blog. It is shutting down on 30th april. Curious if we can support the download format.... Aha a wordpress xml file...
[19:08:16] Arjan leaves the room
[19:41:35] <Andreas Stenius> Hey Maas, any thoughts on how to graph the stats data? (I'm not to good at statistics any way..)
[19:41:59] <Andreas Stenius> I have a simple bar graph over the histogram data for duration just to see how it looks :)
[19:44:48] <Maas> Not yet, needs some experimentation I think. First you have to collect some data before you have a graph...
[19:45:27] <Maas> The meters just have the current, 1 minute, 15 minute and day averages.
[19:46:52] <Maas> Looking at xload.. at default rate it collects data every 10 seconds.
[19:51:05] <Andreas Stenius> yeah, I miss some docs describing what the different numbers come from (what they mean)
[19:51:38] <Maas> aha, requests is the number of db/http request
[19:52:11] <Andreas Stenius> yeah, that was the easy one :p
[19:52:23] <Andreas Stenius> btw, heres a snap from my test page: https://www.dropbox.com/s/tg9w9vcdy2k89a2/snapshot3.png
[19:52:36] <Maas> drumbeat......
[19:53:26] <Maas> pretty wide histogram...
[19:53:43] <Andreas Stenius> yeah, no styling applied.. ;)
[19:54:04] <Maas> lol was trying to scroll the screenshot
[19:54:08] <Andreas Stenius> lol
[19:56:11] <Maas> aha, yes, I see what you mean
[19:56:12] <Andreas Stenius> here's the graph in it's full width: https://www.dropbox.com/s/30lcyr8djznhkag/snapshot4.png
[19:57:29] <Andreas Stenius> what is variance, for instance? it's huge
[19:58:18] <Maas> Indeed, most of the requests are go fast, but there are some really slow ones too.
[20:00:39] <Andreas Stenius> ah, did a few page reloads, and it had some impact on the graph ;) https://www.dropbox.com/s/qi9do4ri1k6gdk8/snapshot5.png
[20:01:53] <Maas> But even then there are some requests which almost take 10x longer than the fastest one.
[20:04:19] <Maas> Probably the one request which has to wait on the db
[20:11:22] Arjan joins the room
[20:15:21] Maas leaves the room
[20:43:56] maas.maarten.zeeman joins the room
[20:50:21] maas.maarten.zeeman leaves the room
[20:51:28] maas.maarten.zeeman joins the room
[20:53:40] <Andreas Stenius> will be interesting to see how much difference it does for the first request after flushing the caches..
[21:15:54] jeff.5nines leaves the room
[21:17:42] jeff.5nines joins the room
[21:36:56] maas.maarten.zeeman leaves the room
[21:38:20] Maas joins the room
[22:41:53] <Maas> With the new with syntax for models we could get the raw numbers out for the zotonic_status site like this: {{ m.stats.metrics with host=name }}
[22:42:16] <Maas> If you are logged in of course...
[22:42:25] <Maas> and admin and all.
[22:43:32] <Maas> otherwise it takes the host from the context.
[23:05:41] <Maas> The syntax for the stat model is quite verbose...
{% with m.stats.metric.webzmachine.requests.value as r %}
<span> {{ r.one | format_price }}, {{ r.five | format_price }}, {{ r.fifteen | format_price}} </span>
{% endwith %}
[23:10:13] Arjan leaves the room
[23:31:36] <Maas> Getting > 709,76 req/sec on core i5 machine no db, simple template, with ensure_all, session created and all.
[23:33:47] <Maas> When you drop the session.... then > 2300 req/sec.
[23:43:44] <Maas> It is not the session causing it, but the ensure_page_session. During the benchmark too many timers are created, Each page_session gets one... after some point the timer_server just keels over. Hmm, food for thought.
[23:45:03] <Maas> but wow, what a performance figure....
[23:59:18] <Maas> If that is the case, then handling page session timeout's via the gen_server responses should be a bit cheaper.
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!