Page 5 of 182

Black Friday 2011

Black Friday 2010 is upon us.

Now, what are you doing to get your Web site ready for Black Friday 2011?

While this may be a shocking slap in the face, it is a very realistic one. If you take what happened today, and what you think may happen over the next 4 weeks, what will your organization really need to be ready for next year – same time, same place?

You were thinking about that as you got ready for this year, right?

Well, it’s never too early to start planning. Here are some items you should be putting on your January 1 2011 wish-list.

  • Better Web monitoring. What did you get caught without any insight into this year? Where do you need to get more information? Inside or outside the firewall? Third-party components? What surprised you this year?
  • Earlier load testing. Is it less stressful to test your capacity and focus your optimization efforts in Q1 2011 or in October 2011? The advanced customers we work with start running their load tests in April, not September. How much change can you make to your systems by the time you discover a problem in September?
  • Real-world inputs and projected growth. When you take your analytics data and project your growth for next year, are you factoring in macro-economic inputs? No, I’m not an economist, but if the economy isn’t projected to grow as fast, aim your projected growth for the middle of the range for testing, not for the top-end.
  • Test capacity to the maximum. No, this is not mutually exclusive of the previous item. When you test your capacity, you want to make sure that you know exactly how much growth it can take. Even if growth is not projected to break it this year (and you can prove this with load testing), how about in 2012?
  • Mobile Commerce Readiness. Mobile is the latest buzzword. But do you have a real plan to handle a rush of people checking your prices from other stores on Black Friday? And if they want to buy it right there, can they? Mobile is not a separate silo; All sales channels make you money, so stop treating them differently. If you are going mobile, do it with a plan that scales with sales.

Whatever you do, don’t rest on your laurels (or bed of broken glass, depending on how your day went). Have a plan. Write it down. Set some deadlines.

Give yourself a head start.

Black Friday 2011 is only 364 days away.

Web Performance Concepts: Customer Anywhere

Companies are beginning to fully grasp the need to measure performance from all perspectives: backbone, last mile, mobile, etc. But this need is often driven by the operational perspective – “We need to know how our application/app is doing from all perspectives”.

While this is admirable, and better than not measuring at all, turning this perspective around will provide companies with a whole new perspective. Measure from all perspectives not just because you can, but because your customers demand performance from all perspectives.

The modern company needs to always keep in mind the concept of Customer Anywhere. The desire to visit your site, check a reservation, compare prices, produce coupons can now occur at the customer’s whim. Smartphones and mobile broadband have freed customers from the wires for the first time.
If I want to shop poolside, I want your site to be as fast over a mobile connection on my Android as it is on my WiFi iPad as it is on my Alienware laptop on ethernet. I don’t care what the excuse is: If it’s not fast, it’s not revenue.

Knowing how a site performs over the wire, in the browser, around the world made “Web” performance a lot harder. The old ways aren’t enough.

How does your “Web” performance strategy work with Customer Anywhere?

Career Reform: Selling your Way Out of the Paper Bag

One of the things that all consultants have to accept is that selling is a part of the territory. Doesn’t matter if you are a solopreneur or an associate consultant in 10,000 person firm, selling is an everyday occurrence.

Sounds like a cliché, but it’s true. Everything a consultant does or says is part of their ongoing selling process. Skills and experience must constantly be sold to customers.

It’s hard to sell, if you stop and think about it. You have to convince people, strangers, that you or your firm have the skills to solve the problem that the customer has identified, and to demonstrate that you can identify and solve problems that the customer may not know they have.

How do you do it? There is no easy answer. My experience is that selling customers is often not about the products or services themselves, but about selling the value and the solutions that your experience brings to the equation on top of the products or services. Selling is about believing that what you can do for the customer is beyond what they could achieve themselves, but which will make them far more successful than they would be on their own.

Selling Consulting services requires self-confidence, and a willingness to leave your ego at the door. What the customer thinks they need, and what they position with you or the sales team that they have been working with, are often only their tactical, short-term needs. Customers often are unwilling to accept the solution they really need. Sometimes, the consultant has to accept starting with the partial solution sale to get the customer to accept the larger problem.

Leaving your ego at the door makes accepting the initial compromise easier to accept. Good consultants see the short-term, tactical project as the way in. But if that’s all that you are able to sell, then you may need to reflect on how you are positioning yourself.

Selling consulting is a process that is continuous, even with customers that you are already working with. Being a consultant means that you must always listen, observe, and sell. Reputation, relationships, and experience/skills only get you so far. Selling it, be it yourself or the solution the customer really needs, is what takes you the next step.

How do you sell consulting services? How do you sell yourself as a consultant?

Career Reform – From Analyst to Consultant

For many years my professional title has included the word “consultant”, and with it the gravitas that comes with being able to use that term. In the cold, hard light of my early-40s, in all honesty I have say that I was not a consultant for most of that time: I was an analyst.

Analyst versus consultant. What’s the difference?
In black and white terms, an analyst is a tactical consultant, with a specific set of skills and knowledge that can be used to solve a particular problem. And a consultant is…?

You keep using that word. I do not think it means what you think it means. Inigo Montoya

Consultant is over-used and mis-used word. All the people I know who call themselves consultants are actually analysts, contractors, or skilled professionals who call themselves consultants for lack of a better term to describe what they do to pay the bills, and because putting Gun For Hire on a business card tends to attract the wrong clientele.

On the other end of the spectrum, consultant is more than a term to describe a person who works in a large consultancy or professional services firm (or as, Andrea Mulligan is working through in public, a professional service practice in a software or SaaS firm). A consultant comes to a customer with a set of skills that cannot be had just anywhere, be it in a programming language, GAAP restructuring, or, in my case, Web performance measurement and load testing.

A true consultant must be more than a skilled analysts who has chosen the freedom of working outside large companies, leaping from challenge to challenge. A consultant brings years of experience and a view of the larger world with them. In fact, many of the best consultants can’t do what their analysts do for them (or maybe the consultant’s skills are just too rusty) on a daily basis.

Analysts solve a specific problem. Consultants ensure that the problem never happens again.

Consultants put the problem that analysts solve into context.

For more than a decade, I have been an analyst, solving whatever thorny riddle is put in front of me using whatever tools and skills I could cobble together. Analysts don’t have a lifetime career ahead of them, as their skill-set falls out of favor or is replaced by younger, more talented analysts.

Consultants take what they have learned during their analyst/apprentice days and convert that into a strategic view. Not simply How do we solve this problem? but Is this the right problem to solve? or How did we get to the point where we needed to solve this problem?

And, most importantly, Is the solution we’re developing flexible enough to adapt to solve and prevent problems we can’t even foresee now?

It’s hard for someone like me who revels in solving the problems no one else can to let go and realize that the problem isn’t everything. To realize that there are people out there who can do what I do as well as or better than I can.

Letting go of one thing means that you have to have something else to grab onto. I do not relish Wily Coyote moments: looking down to see the fall that’s about to come.

So, at 42, I am stepping back to embrace a very new and different career question: What does it really mean to be a strong consultant?

It’s not easy to shift gears, and drop into the career lane that I had avoided for so long, feeling it a trap. I now know that to survive and flourish, I have to understand how the business works, how practice/company goals are set and met, how to effectively sell professional service (something I am awful at a lot of the time), and how to position professional services within the SaaS model.

It is a somewhat disheartening realization that the 10 years I spent fighting becoming a strong consultant now have to be made up in a very short amount of time, but the games everyone remembers are those that are won from behind in overtime.

Smartphones: On Moving Back To Blackberry

A couple of weeks ago, I moved my mobile life back to a Blackberry Bold 9700 from T-Mobile after being on a Dash 3G  for the last 6 months.

It’s like breathing air again.

Admittedly, I am not the typical modern smartphone user. I prefer a full keyboard over a touchscreen, and I still operate in a mainly text-based world. So the Blackberry is exactly what I need to get through my day. I get my work email fast, the GMail app is fantastic, and UMA is really an astounding thing.

When you compare the Bold 9700 to its predecessor in my life, it is like moving from a broken Windows 3.11 486DX to a new MacBook Pro. WinMo 6.5 is not a modern mobile platform and on the Dash 3G, it only gets worse.

It’s not T-Mobile’s fault that they have the Dash 3G. But I am glad it’s not with me anymore.

The Complexity of Web Performance

Helping a colleague this week, we uncovered some odd behavior with a site whose performance he was analyzing. Upon first glance, it was clear that this site had a performance issue – they had HTTP persistence disabled. Immediate red flag in the areas of network overhead and geographic latency.

Further digging exposed something more sinister. It seems that HTTP persistence was only disabled for browsers with MSIE in the user-agent string. Even if the user-agent string was just MSIE, HTTP persistence was off.

The customer was very forthcoming and sent us their standard httpd.conf file. This showed no sign of the standard (and frustrating) global disabling of persistence for Internet Explorer.

Finally, it came to us. The customer had provided a simple network diagram, and there, just before packets hit the Internet, was a Layer 7 firewall. How did we know the Layer 7 firewall was the likely cause? Because this device was also the one that provided compression for the content going out to customers.

A Layer 7 firewall happily rewrites HTTP headers to reflect the nature of the compressed content (content-length or transfer-encoding: chunked) and to add the gzip flag (accept-encoding:gzip). Since this device was already doing this, it was pretty clear to us that it also had a rule that disabled HTTP persistence for anything with MSIE in the user-agent string.

This was a fine example of the complexity of the modern Web application infrastructure. In effect, there were two groups with different ideas of how Internet Explorer should be handled at the network layer, and neither of them seems to have talked to the other.

When you have a Web performance problem, indulge in a thought experiment. Create an imaginary incoming Web request and try to see if you can follow it through all the systems it touches on your system. Put it on a whiteboard, a mindmap, whatever works.

Then invite the system architects and network engineers in and get them to fill in the gaps.

No doubt that will lead to the “ah ha!” moment. If nothing else, it’s a good excuse to put pizza on the company card. But I have no doubt that you will walk away with a better understanding of your systems, which will make it easier for you to talk to all the people responsible for keeping your systems running.

TAKEAWAY: Just because the part of the Web application you work on is working fine, it may be affected by other components that are not tuned or configured for performance. Get to know the entire application at a high level.

Compression and the Browser – Who Supports What?

The title is a question I ask because I hear so many different views and perspectives about HTTP compression from the people I work with, colleagues and customers alike.

There appears to be no absolute statement about the compression capabilities of all current (or in-use) browsers anywhere on the Web.
My standard line is: If your customers are using modern browsers, compress all text content — HTML (dynamic and static), CSS, XML, and Javascript. If you find that a subset of your customers have challenges with compression (I suggest using a cross-browser testing tool to determine this before your customers do), write very explicit regular expressions into your Web server or compression device configuration to filter the user-agent string in a targeted, not a global, way.

For example, last week I was on a call with a customer and they disabled compression for all versions of Internet Explorer 6, as the Windows XP pre-SP2 version (which they say you could not easily identify) did not handle it well. My immediate response (in my head, not out loud) was that if you had customers using Window XP pre-SP2, those machines were likely pwned by the Russian Mob. I find it very odd that an organization would disable HTTP compression for all Internet Explorer 6 visitors for the benefit of a very small number of ancient Windows XP installations.

Feedback from readers, experts, and browser manufacturers that would allow me to compile a list of compatible browsers, and any known issues or restrictions with browsers, would go a long way to resolving this ongoing debate.

UPDATE: Aaron Peters pointed me in the direction of BrowserScope which has an extensive (exhaustive?) list of browsers and their capabilities. If you are seeking the final word, this is a good place to start, as it tests real browsers being used by real people in the real world.

UPDATE – 09/24/2012: I found a site today that was still configured incorrectly. Please, please, check your HTTP Compression settings for ALL browsers your customers use. Including you MOBILE clients.

The Rocky Mountain Parks: A Privilege Unappreciated

Ken Burns’ tale of the US National Parks reminds me of a heritage that I have, for most of my life, taken for granted. It was in another country, but it is a heritage that I have assumed will always be there.

I grew up amongst the Canadian Rocky Mountain Parks. Dead center amongst them you might say. Within two hours drive, there were five spectacular parks – Yoho, Banff, Jasper, Kootenay, Glacier, and Mt. Revelstoke.

All of these parks played a part in my childhood, adolescence, and young adult life. It has been nearly 20 years since I spent any time in these parks, but the experience I had there have shaped how I see the world around me. But only now can I really appreciate what these parks mean to us all, in all places.

The parks are a powerful reminder of the transitory effect that man has. Each of them contains some amount of ruins as a visible reminder of man’s failed attempts to exploit and tame the parks. The carcasses of hotels, remains of viaducts, the skeletons of towns litter these refuges.

A part of that failed heritage is something I carry with me, as I am descended from one of the last group permanent residents of an industrial town in a Canadian National Park, as my grandfather lived for a time in the now abandoned town of Bankhead Alberta. My family took me to this place as a child and told me that ‘Grandpa lived here’, a concept I could not understand, as I was in a National Park, wasn’t I? I had no idea of the conflict over what it meant to be a Canadian National Park at the time, as I saw them as the refuges and preserves they had become.

Growing up surrounded by these special places has left with a certain jaded perspective on beauty in the world. Yosemite does not awe the way it does others, as I was raised surrounded by beauty comparable to Yosemite, and perhaps exceeding it. But now I give my unrestrained thanks to those who made the effort to preserve, protect, and conserve these places.

Within the gently protective walls of the Canadian Mountain Parks, I have seen the sublime and the ridiculous. The commercial and the ethereal. Untouched wilderness and unabashed capitalism. And despite protests on both sides, it is clear that they work together, for without the treasure and largesse of one type of visitor, the other would not have a place to go.

Banff is the greatest eyesore amongst those who see the parks as the preserve of untrammeled wilderness. However, if Banff had not existed, the desire and initiative needed to protect the other four parks would not have gained ground. So a commercial pit keeps the wilderness protected, a balance that we can accept in a day of far greater compromises.

So though the idea of a National Park may have been originated in the US, Canada has done well to develop the idea on its own terms. Only now that I am many thousands of miles removed from them, can I appreciate what they have done to to shape me. These memories leave me breathless in the realization of the great privilege I have taken for granted for all of these years.

Effective Web Performance: The Wrong 80 Percent

Steve Souders is the current king of Web performance gurus. His mantra, which is sound and can be borne out by empirical evidence, is that 80% of performance issues occur between the Web server and the Web browser. He offers a fantastically detailed methodology for approaching these issues. But fixing the 80% of performance issues that occur on the front-end of a Web site doesn’t fix the 80% of the problems that occur in the company that created the Web site. Huh? Well, as Inigo Montoya would say, let me explain.

The front-end of a Web site is the final product of a process, (hopefully) shaped by a vision, developed by a company delivering a service or product. It’s the process, that 80% of Web site development that is not Web site development, that let a Web site with high response times and poor user experience get out the door in the first place.

Shouldn’t the main concern of any organization be to understand why the process for creating, managing, and measuring Web sites is such that after expending substantial effort and treasure to create a Web site, it has to be fixed because of performance issues detected only after the process is complete?

Souders’ 80% will fix the immediate problem, and the Web site will end up being measurably faster in a short period of time. The caveat to the technical fix is that unless you can step back and determine how a Web site that needed to be fixed was released in the first place, there is a strong likelihood that the old habits will appear again.

Yahoo! and Google are organizations that are fanatically focused on performance. So, in some respects, it’s understandable how someone (like Steve Souders) who comes out of a performance culture can see all issues as technical issues. I started out in a technical environment, and when I locked myself in that silo, every Web performance issue had a technical solution.

I’ve talked about culture and web performance before, but the message bears repeating. A web performance problem can be fixed with a technical solution. But patching the hole in the dike doesn’t stop you from eventually having to look at why the dike got a hole in the first place.

Solving performance Web problems starts with not tolerating them in the first place. Focusing on solving the technical 80% of Web performance leaves the other 80% of the problem, the culture and processes that originally created the performance issues, untouched.

GrabPERF – Database Failure

The GrabPERF database server failed sometime early this morning. The hosting facility is working to install a new machine, and then will begin the long process of restoring from backups and memory.
Updates will be posted here.

UPDATE – Sep 4 2009 22:00 GMT: The database listener is up and data is flowing into the database and can be viewed in the GrabPERF interface. However, I have lost all of the management scripts that aggregate and drop data. These will be critical as the new database server has a substantially smaller drive. There is a larger attached drive, and I will try and mount the data there.

It will likely take more time than I have at the moment to maintain and restore GrabPERF to its pre-existing state. You can expect serious outages and changes to the system in the next few weeks.

[Whining removed. Self-inflicted injuries are always the hardest to bear.]

UPDATE – Sep 5 2009 03:30 GMT: The Database is back up, and absorbing data. Attempts to move it to the larger drive on the system failed, so the entire database is running on an 11GB partition. <GULP>.

The two most vital maintenance scripts are also running the way they should be. I had to rewrite those from very old archives.

Status: Good, but not where I would like it. I will work with Technorati to see if there is something that I’m missing in trying to use the larger partition. Likely it comes down to my own lame-o linux admin skillz.

I want to thank the ops team from Technorati for spending time on this today. They did an amazing job of finding a machine for this database to live on in record time.
I have also learned the hard lesson of backups. May I not have to learn it again.

UPDATE – Sep 5 2009 04:00 GMT: Thanks again to Jerry Huff at Technorati. He pointed out that if I use a symbolic link, I can move the db files over to the large partition with no problem. Storage is no longer an issue.

[And, why you ask, is Tara Hunt (@missrogue) on this post. Hey, when I asked Tagaroo for Technorati images, this is what it gave me. It was a bit of a shock after 8 hours of mind-stretching recovery work, but hey, ask and ye shall receive.]

UPDATE – Sep 7 2009 01:00 GMT: Seems that I got myself into trouble by using the default MySQL configuration that came with the CentOS distro. As a result, I ran out of database connections! Something that I have chided others for, I did myself.
The symptom appeared when I reactivated my logging database, which runs against the same MySQL installation, just in a separate database. It started to use up the default pool of connections (100) and the agents couldn’t report in.

This has been resolved and everything is back to normal.

Copyright © 2024 Performance Zen

Theme by Anders NorenUp ↑