Coding Horror: Performance is a Feature
codinghorror.com
codinghorror.com
Do all the popups on Stack Overflow factor into the performance measurements? My last three visits I had a "welcome back ... blah blah blah" popup as well as the orange "you've got a badge or something" popup. I love Stack Overflow, but the popups are distracting. I have a must-close-popups-OCD disorder, so if I measure performance as the time it takes from clicking my bookmark to being able to use the site, it's been in the 5-digit millisecond range.
Needless to say, this doesn't enhance the user experience.
However the "Welcome back [user], click to refresh" is incredibly useful, because of my cookie issue.
This.
I block 'em with Adblock's Element Blocker, but I wish Jeff would just get rid of them. Very annoying.
I've always looked at scaling Playtomic to involve the crapton [1] of data we're processing every minute of every day - cause that's obviously where the "real work" is, handling a huge stream of data that needs processing. It turned out the web interface for heavier users was ridiculous [2], heavier users with dozens of games had in extreme cases double-digit seconds on some of the stuff which is just embarrassing.
In the last couple weeks I've reduced our main server (we're still ghetto so it's database + web) cpu usage from 80% down to ~20% and made staggering improvements on the speed of reports - down to xx milliseconds in most cases, from some really ugly times [3].
[1] http://playtomic.com/blog/post/64-whats-in-a-minute
[2] http://playtomic.com/blog/post/62-scaling-the-user-side-of-p...
Edit, actually here we go (about 1/2 way down):
http://support.newrelic.com/help/kb/docs/security
By default, data is transmitted in the clear from your site to our site. There is an option flag (ssl) in the newrelic.yml file to enable the use of HTTPS. We don't do host authentication with HTTPS, just communication encryption.
Under Java, .NET and PHP we use JSON to serialize data. The Ruby agent uses Ruby marshaling to send data to New Relic and we marshal return codes back. We believe the risk exposure from marshaling is low.
The Agent communicates with two hosts: collector.newrelic.com and one of collector[0-8].newrelic.com, where the numbered host is fixed for your account. Which numbered host your account uses is displayed in the log/newrelic_agent.log at startup.
Edit: Thanks for that too! :-)
I think the rarely discussed "time to first render" (for lack of a better word in my head - NOT domcontentloaded) is critical and part of that is the penalty for DNS cache miss which can already be up to 400ms in some cases.
Basically when people click, they want the browser to "do something already".
If you want easy ways to make your page to feel faster then stop loading javascript by default and do it after the page is loaded and don't load images below the fold by default - do all that in the background afterward.
All the CDN in the world won't help you if you have 10+ external javascripts, multiple stylesheets, and dozens of images loading on the page.
That list includes reducing the number of file loads, paying attention to DNS overhead and so on.
From this I deduce that SO has already taken your advice.