Social Buzz
Monday
Oct082012

WebPerfDays – your feedback please!

Did you go to #WebPerfDays EU 2012?

If so I’d love to get your feedback on what was good & bad about the event. I could have handed out feedback sheets at the end of the event… but everyone would have been too busy eating and drinking to fill them out, anyway!

So if you can please add your comments to this blog post or email me directly at info at seriticonsulting.com that would be very much appreciated.

If you could think about things like:

  1. Format of the day and how sessions were allocated etc
  2. Content of the sessions
  3. Venue
  4. Food&Drink
  5. Swag & Sponsorship
  6. Audio/Visual quality
  7. Communication before, during and after the event
  8. Overall atmostphere etc

But don’t feel you have to limit yourself to these topics – all idea and suggestions welcome!

You can also leave comments over on the London Web Performance Facebook page if you want! https://www.facebook.com/pages/London-Web-Performance-Meetup/177580535617183?fref=ts

Monday
Oct082012

WebPerfDays Summary and Slides

“#WebPerfDays London was awesome. Tremendous job by @TheOpsMgr& crew. Thx #Facebook, #Dyn, & other sponsors. Love the longer conversations.” – @souders, Steve Souders, Google.com

#WebPerfDays was awesome Smile 

130+ enthusiastic WebPerf people sharing ideas and knowledge in an unConference format, with lots of jokes, laughter, food and drink along the way!

This post is just a quick summary of the slide decks and other material that was referenced during the day but they best parts were not captured in PowerPoint or Keynote but in the many lively conversations going on all around the amazing Facebook venue!

Don’t forget to join the London Web Performance Meetup and be a part of the monthly Meetups! We are always looking for speakers, venues and sponsors to keep the #WebPerfDays and #VelocityConf message alive!

Friday
Dec092011

A year of London Web Performance!

What a great year it’s been for the London Web Performance Meetup!

The group was started in January 2011 after being inspired by the work Sergey Chernyshev was doing in New York.

Our group has now grown to have 422 members and continues to get excellent ratings from those who attend (4.61 out of 5 for the last meetup at Betfair!) and the Web Performance Meetup movement has expanded to include San Francisco, Boston, Los Angeles, Paris, Vienna, Atlanta, Austin, San Diego, Herzeliyya (Israel) , Amsterdam, Berlin, Hamburg and Cologne.

Our group has members from some of the UK’s largest online organisations such as sky.com, Betfair.com, totaljobs.com, Lonelyplanet.com, UBM, LBi, Telegraph, FT.com, Guardian, IPC, Playfish.com, yell.com etc etc. Everyone has been very open and willing to both learn from others and share their own experiences and this has been a huge factor in the group’s success.

Partly because of the success of the #WebPerf meetup movement the Velocity Conference has come to Europe and some of us were even lucky to speak at it!  O’Reilly have been great supporters of the London Web Performance Meetup group through donating prizes and free conference passes to help attract members. Our sincere thanks to the team there, particularly JWB!

We’ve had some excellent speakers at @LDNWebPerf who have also presented at Velocity and other major events such as Joshua Bixby (Strangeloop), Andreas Grabner (Dynatrace) and Jyoti Bansal (AppDynamics) plus “local heroes” like Perry Dyball & Ged Waring (Seatwave.com), Andrew Betts (Assanka) and Mick McGuinness (ApplicationPerformance.com).

We’ve got a great schedule already taking shape for 2012 and we look forward to more talks, hopefully more sponsors, and lots of great post-presentation conversations over a pint or two.

For those who weren’t able to make it to some of the previous meetups I have listed the slide decks, where possible, below!

January - Web Performance Case Study - Seatwave.com

February - Web Performance Optimisation 101

March - Performance Automation - faster ways to do make your website faster

April - Managing Performance in the Cloud - Jyoti Bansal, CEO of AppDynamics

[cant find the slides, will have to get back to you on that…]

 

May - Case Studies: Performance for "mortal companies" - Josh Bixby

July - Velocity 2011 Feedback session

August - Building a high performance HTML5 Application - the new FT.com HTML5 web app

September - Measuring Mobile Performance

October - HTML5 WebSockets and the Realtime Web

November - Speed War (Operation "Jungle Cheetah") - WPO @ The Times

December - Xmas Special - Web Performance at Betfair

Friday
Dec092011

Is the current model of load/performance testing broken?

I am wondering if our current model of web load testing is broken, for several reasons, one of them possibly fundamental to the current model.

I was at my London Web Performance Meetup the other night at Betfair and Andrew Harding, a perf QA engineer there, gave a talk on “Continuous Integration - A Performance Engineer’s Tale” in which he talked about how they were tackling this challenge at Betfair.

He said something that resonated with something that I have been thinking about for a while now, to whit,

“We’ve had to look at separating load injection from performance measurement”.

Now, Betfair did this for various reasons, mainly to do with the need to keep the perf testing environment “warm” – it takes too long to warm up the environment, load the caches, overcome TCP “slow start” etc and achieve a “stable” system – compared to the time they might have between check-ins/builds etc. So it’s easier to keep a constant load flowing through the environment to keep as much of the system as possible “warmed up” until you deploy your incremental changes in the next build and do your testing.

Because they use “traditional” load testing tools like LoadRunner which are designed to “start script – inject load – measure response – stop script – generate report” this causes a problem. They aren’t “starting and stopping” all the time, hence they don’t get the nice reports out the end. [I might be over-simplifying this, I am not a LoadRunner expert, but bear with me for now!].

So they “measure performance” using other tools e.g. Real-user monitoring (RUM) or Application Performance Management (APM) tools outside of the load-injection toolset.

Now, I see this as a real problem for the vendor’s like HP who make LoadRunner. LoadRunner has lots of awesome features but if you are just using it to “generate load” and not using its measurement and reporting features then there are far cheaper (and open-source) alternatives. The rash of “cloud-based” load testing services that are springing up off the back of Amazon EC2 are also increasing the downward pressure on the costs of the “traditional” vendor solutions.

The “cloud testing” vendors raise another issue with the measurement of performance “from the point of injection”.

Measurement requires, as much as possible, a stable platform from which to measure, which in it’s current form the cloud most certainly is not. Study after study after study shows that performance in the cloud is variable, and even more so under load. Some people have even given up on the cloud for that reason and moved back to dedicated servers (http://code.mixpanel.com/2011/10/27/why-we-moved-off-the-cloud/. Well worth reading the comments below as a lot of people both agree and disagree).

So if you want timing resolution to within (at least) 10msec to measure variation in time-to-first-byte then doing it using a varying “measuring stick” isn’t going to work. So, another argument for separating load injection from performance measurement.

But this isn’t the fundamental reason I am concerned that things might be “broken” for the current load-testing model.

Currently load-testing is [mostly] based on a classic HTTP request/response paradigm – “start a timer, make a HTTP request, stop the timer, record the duration, repeat as necessary, report the outcome”.

Ok, so @LDNWebPerf we’ve looked at HTML5 apps and at WebSockets and, guess what, the web apps of the future can (and do) break this simplistic “classic HTTP request/response paradigm”.

HTML5 apps might make extensive use of localStorage to eliminate roundtrips and WebSockets changes everything into ONE HTTP request followed by a lot of BI-DIRECTIONAL communication over the WebSocket connection. The same issue exists with some of the other “push” techniques that might use chunked-encoding to send data asynchronously down a “long-lived” request/response. SPDY might cause problems too because of the way it multi-plexes the Request/Responses too!

So how are you going to measure your “performance under load” when there isn’t a nice “Request/Response” to “start/stop” your timer?

Well, the answer is… I don’t know, yet.

There are two immediately “obvious” solutions – go “up the stack” or “down the stack”.

By “up the stack” I mean that the load testing tool much be much more “web application aware” – it must be inside the browser, seeing exactly how the web application is sending/receiving information especially over WebSockets and be “instrumented” to measure it.

It might also require it to be “framework-aware” so that it understands frameworks like Dojo/Comet/Jquery/whatever and “knows” how the methods they use to send/receive information and how to inject instrumentation into those frameworks to measure them.

By “down the stack” I mean back to network sniffing and measurement “on the wire” to see exactly what how long things take, but again probably with the requirement to be more “application-aware” so it can re-assemble the network packets and translate them into HTTP, WebSocket and application-level performance timing data that’s more meaningful to the performance engineer and the application developer.

Anyway, I am not sure that I have explained this as articulately as I would have liked but my basic message is that:

  1. If we can’t measure performance from the “point of injection”, for whatever reason, then you will need to invest in other tools that can measure performance from different locations (e.g. RUM, APM etc)
  2. Hence, if all you are doing is generating load, then you’ll rapidly become a commodity item and be paid accordingly…
  3. New web technologies like WebSockets can change the HTTP Request/Response paradigm making the job of performance measurement more difficult so the tools will need to evolve and perhaps become more “application-aware”.

I’d love to hear what everyone else thinks so please comment away!

Tuesday
Sep272011

Introducing the Web Performance Alliance

Yesterday saw the launch of the Web Performance Alliance in the UK, to help promote Web Performance Optimisation to UK’s e-business sector.

The aims of the WPA are simple – to provide UK e-businesses with the information they need to make their websites FAST!

AboutWPADiagram

The new WPA website has a knowledgebase of Web Performance Optimisation (WPO) information that will be continually updated with the latest information from WPA members and the leading WPO experts from around the world. www.websiteperformance.org.uk/resources

If you need help in making your website fast then the WPA members are here to help! www.websiteperformance.org.uk/services.

If you want to get involved or contribute some material to the WPA knowledgebase please let me know.