More site performance work, beta etc. (Full Version)

All Forums >> [Cellar Talk] >> Release Notes



Message


Eric -> More site performance work, beta etc. (10/31/2011 1:46:48 PM)

The next REALLY big thing I want to get back into is heavy duty home stretching coding on the beta site, but it seems that very important things keep distracting me. (To whit the recent authentication overhaul and move to pure SSL for logged in users.)

This is the time of year when seasonal traffic on the site gets a bit crazy during peak times. For example, traffic this weekend for logged in users was DOUBLE the weekend traffic from just one month earlier. Last year the site really hit the wall pretty badly between Thanksgiving and Valentine's day during peak times. The six months I spent on this earlier this year upgrading hardware, software, queries should give me a LOT more headroom, but since we are in the brief calm before the proverbial storm I have a bunch of fairly formulaic but numerous coding changes to further parameterize several HUNDRED other queries that the site runs. Based on the 50% drop in CPU load I saw on the primary database server earlier this year when I did the first wave of this work, It seems like 2-3 weeks of targeted performance work on known low-hanging fruit should really help. Meanwhile, there are also some specific queries, most notably global grouped tasting note searches that are just sucking wind right now, so I plan to dig into that and sort it out. (Sigh, they were so fast a few months ago too.) With as many thousands of code changes as I am about to make, it is inevitable that there will be some small burps. I have ways of logging this so I can jump all over it.

All that said, later in November I really, really, REALLY hope to be cranking out lots of long overdue polish and tweaks and features on the beta site to get it MUCH closer to readiness. And the next big push after that will be the smartphone optimized site UI that I have had in the plans for more than a year now.




Eric -> RE: More site performance work, beta etc. (11/3/2011 4:20:09 PM)

OK, a whole chunk of changes just went in.




Eric -> RE: More site performance work, beta etc. (11/4/2011 4:53:47 PM)

And a whole second wave. I also totally overhauled the way that the site updates the count of "tasting note views" to be much more efficient under the covers. That was pretty huge actually.

BTW, none of these hundreds of thousands of changes will have much direct effect on speed of individual operations, but it is the sum total of resources required to compile and run the many thousands of queries. The idea is to get the system to compile any given query once and then save that as a template for all future executions of the same. If I do a good enough job of parameterizing the vast bulk of the queries the overall scalability and performance of the site will improve dramatically.




brigcampbell -> RE: More site performance work, beta etc. (11/4/2011 8:29:56 PM)

80-20 rule for computing is more like a law in my experience. btw, there hasn't been performance issues for the basic ct operations for ever. While things may not always snap, I can't rule out that its not normal network/wireless latency.




Eric -> RE: More site performance work, beta etc. (11/4/2011 8:58:27 PM)

It has been much better, but pretty much every traffic metric has grown more than 50% in the past year. And we are about to grow another 50% over the next 8 weeks, so I am trying to be very proactive. I've got some really nice queries into the SQL internals that are showing me which AdHoc queries are hogging the compilation cache, so I am picking off some really big cases right now (40%, 10%, 5%) with just a few targeted rewrites. There is a very long tail and main thousands of queries strewn throughout the code, but I am definitely targeting the fat end of the curve right now.




Eric -> RE: More site performance work, beta etc. (11/6/2011 1:43:02 PM)

quote:

ORIGINAL: Eric
Meanwhile, there are also some specific queries, most notably global grouped tasting note searches that are just sucking wind right now, so I plan to dig into that and sort it out. (Sigh, they were so fast a few months ago too.)

OK, I unpacked this one a bit to help perf. Second and third level pivots are still not great, but single level pivots seem to work well. There was actually a secondary issue that the count of tasting note views was overflowing TWO BILLION which was causing all of these to error out. For global tasting note pivots now I am just not going to sum up those views.

More to come.




Eric -> RE: More site performance work, beta etc. (11/7/2011 10:47:42 PM)

OK, another very deep wave of changes to some pretty sensitive operations (bulk drink, bulk relocate, bulk accept pending deliveries, bulk import). Plus a rework of pretty much all of the people related "paging" queries in the beta site.




Eric -> RE: More site performance work, beta etc. (11/9/2011 3:46:51 PM)

Even more big changes going in. So far pretty smooth and having a strong impact on server load and scale.

I also just cauterized some functionality for global, grouped/pivoted views of tasting notes, purchases and consumed bottles. For now only single-level (versus three-level) pivots are supported. Of course three-level pivots DO remain for views of individual cellars.

EDITOR'S NOTE: WOW, this was one of the more dramatic changes I have ever seen. CPU loads on each of the two "guest" database just dropped to about 25% of their former load. I mean SERIOUS wow. Those global pivots were KILLING the servers. Not any more.




Eric -> RE: More site performance work, beta etc. (11/13/2011 12:08:28 PM)

I just overhauled the guts of the wine editing page on the non-BETA site. It is perhaps the single most complicated page in the whole site, so even though I tested like crazy for 2 days there is a pretty good chance I missed something. Apologies in advance..




smahk -> RE: More site performance work, beta etc. (11/16/2011 1:03:02 PM)

quote:

smartphone optimized site UI


REally looking forward to this.......




Eric -> RE: More site performance work, beta etc. (11/21/2011 1:36:33 PM)

Whew, I have THOUSANDS of changes to deploy shortly. And despite the fact that I thought it might take me years to fully parameterize all aspects of all of my many thousands of dynamically formed SQL queries, I am actually about 99% of the way there (or will be once I take the latest wave of changes lives. While I was thinking I would just spend 2-3 weeks and pick off another wave of low hanging fruit, I am now pretty determined to stick with this for the remainder of the month and simply finish it all out.

BTW, weekly visitors and page views have already grown 50% since late August, and regular transaction volume at peak times is now triple what it would normally be. The site is generally doing pretty well, although I have been seeing some replication latency the past two days that may well require some deeper investigation and schema changes. However with Thanksgiving coming later this week we are now officially starting to venture into the front portion of the storm. Last year this past weekend we just went through was when the site really started to struggle. Things are a LOT better so far this year (on a base of traffic that is basically doubled since year ago), but December is going to bring a LOT more traffic...

All of that to say, come December I am really hoping to be fullbore on finishing out the beta site.

The only other mini-featurettes on the horizon are looking into the Dymo support for QRCodes on barcodes and looking at the cool PicUp app to perhaps allow direct image upload onto the site via iPhone and iPad.




Eric -> RE: More site performance work, beta etc. (11/23/2011 5:08:13 PM)

OK, I just did a rather ungodly huge check-in of several thousands changes to hundreds of files with most changes coming in the beta site. Combing the dynamic error logs I have already picked off 2 bugs that I missed, and I will keep combing throughout the night to see if I missed anything else. If for some reason you find yourself hitting a consistent error, please do feel free to shoot me an email.




Eric -> RE: More site performance work, beta etc. (11/26/2011 4:53:09 PM)

Woof, thousands of more changes just went in. I am down to one more thorny file (just an administrative tool that I use) to optimize, and otherwise everything is parameterized. I also need to look at various administrative jobs I run to make sure they are properly optimized. And then I will be combing the query caches to see if I missed anything while reviewing and tweaking a couple of millions lines of code.




Eric -> RE: More site performance work, beta etc. (9/19/2012 3:59:14 PM)

quote:

ORIGINAL: Eric
The only other mini-featurettes on the horizon are looking into the Dymo support for QRCodes on barcodes and looking at the cool PicUp app to perhaps allow direct image upload onto the site via iPhone and iPad.

Hah, SCRATCH that feature. At long last, iOS6 now supports native image upload from Mobile Safari. It works GREAT from my iPhone with images rotated properly etc. Happy Days!!!!!!




Page: [1]

Valid CSS!




Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI
0.125