• "Fun" with Visual Studio 2010 Performance Testing

    As I am sure you can tell from the title of this post, we have been having nothing but issues using Visual Studio 2010 on the current solution we are performance testing.  While this is going to be a bitch session, with possible solutions and workarounds we have found, these issues are in no way limited to only Visual Studio.

    As one of my coworkers said, “I’m learning that every load testing solution is shit.”  Sadly, the more you work with them, and the more complex the solution, the quicker you come to this realization.  This becomes even more clear as we are expected to bounce around between different performance testing solutions, being pseudo-masters on a smattering of them.  While it is expensive, outsourcing to someone like Keynote may possibly be the best answer (I have used and work with these guys before, and they are great).

    Without further ado, let me breakdown the issues we’ve been having so far.  I really, really, really hope that this list doesn’t continue to grow as we are already running out of time.

    1. Scripting.  We had a bear of a time with scripting our specific website.  No matter what we did, there was no way to get it to actually work by scripting it with Visual Studio.  The website in general is fairly basic, but is loaded up with a ton of Telerik controls per page (don’t even get me started!).  Each stage of our workflow has a bunch of these controls and then a final submit button that moves it into the next stage.  Scripting with VS always failed on the subsequent AJAX postbacks because it was not correctly parameterizing the values (wasn’t extracting some).  However, this only happened when we scripted all the way to through the final submit.  If we scripted, but did not include the final submit button, the script worked correctly and did not have any of the errors.  Since the Telerik controls have so many forms in the post fixing the parameterization issue by hand would’ve taken hours per page (each workflow has 7 pages and there are 17 workflows).  And we couldn’t figure out how to simply wire up the final submit to the working rest of the script.  No matter what we did we’d always get errors on the final submit POST.  The solution?  Use Fiddler and save the sessions as a webtest.  This has a lot of downsides, such as no parameterization at all and the scripts break pretty easily once any code changes.  Fun.
    2. Load Testing Workflows with NTLM Authentication. The next issue we ran into was with wiring up the individual workflow pieces into one large workflow.  The breakdown was that each part of the workflow needed to be handled by a different user, and the users would log in via NTLM.  The most obvious way to do this was to have a webtest call another webtest.  However, we weren’t able to get that to work.  The next way was to use an ordered test, but that didn’t give us reports into individual page loads.  The final way was to create a load scenario that runs scripts in a specific order, but that would require a lot of controllers among other things.  In our desperation, I even created an MSDN question.  The solution?  We created a plugin that cleared the user’s cookies (even though it should’ve been running as a unique user 100% of the time), and also accessed a server redirect page to force the authentication request.  Thankfully we didn’t go down the road of rolling our own queuing system as that would’ve been painful.
    3. Lack of Test Logs after a Run. Now that we were actually able to run tests, we were having all sorts of issues with results.  Sadly, we weren’t able to actually view the results because VS wasn’t saving them.  Again, in desperation I created another MSDN question.  With VS2010, you are supposed to be able to capture all the results of failed tests, and the select “Test Log” to see what the results are.  Unfortunately, when we run tests it sometimes shows up, and sometimes not.  However, for anything longer than a 15 minute run, ours were 60 mins, we never received any results.  We also get links to the “Test Log”, but they don’t do anything when you click.  The solution?  Yeah, as of now we don’t have one other than running two controllers: one running the full load and another one running individual tests to hopefully see a similar error message.

    I can only hope that there are no other issues.  Hope, hope, hope!

     

  • Amazon Customer Service

    After reading the Zappos book, and hearing mixed things about Amazon customer service, I finally had an issue that I needed to actually call them.  Now, I’ve used their online returns before, and have never had an issue.  However, on my trip to PVR this weekend my Kindle’s screen cracked.

    It was working fine on the plane, and then I put it back in my bag.  However, when we arrived at the house, and I went to go lay in the hammock, I flipped it on and Bam!, Etch a Sketch screen where only some of the sections worked.  Needless to say, I was a sad panda since I wasn’t able to use my Kindle the whole time there.  Plus, I was worried that I wouldn’t be able to have it for when I fly back to SIN on Sunday (man I fly a lot).

    Anyways, I digress.  As I’m now back in the States, I gave Amazon a call this morning.  Barely any wait time later, Renee greeted me and helped me through the process.  Since I didn’t have an order number (it was a gift from Yow-Yow), I gave her my email, name, and address for verification.  She then asked what was wrong, if the screen was physically cracked or not, and then the normal questions:

    • Did the Kindle take any tumbles recently?
    • Has there been any pressure on the Kindle recently?
    • Has it been exposed to liquids or water?

    Thankfully none of them applied to me, as it was just sitting there in it’s protective covering.  I then asked if I could have it next day, and would be willing to have it shipped faster (I need my Kindle in SIN).  She said that it is complimentary 1 day shipping and I’ll have it tomorrow!

    So tomorrow, I should have a functioning Kindle again.  Talk about a painless process!  Mad props to both Amazon and Renee for making my morning!

    Update:

    New Kindle did arrive on Friday as promised, and it works great!  All my books have been transfered and things look a lot better.  Just in time for my flight too!

  • Easy XPath Queries

    A guy in the office was asking about a better way to do XPath queries.  Well, since everyone uses Notepad++ (right?!), you can use the following plugins.

    XML Tools

    Libraries

    Restart NotePad++ and checkout the Plugin menu.  Under XML Tools there is now an evaluate XPath Expressions.  Very handy!

  • Ninite

    I know that I previously posted about the various pieces of software I installed on each rebuild, but I was just pointed out to a piece of software that basically does everything for you: Ninite.

    As I look through my list, and compare it to their app, it looks like I only have a few outstanding apps.  Granted, I don’t really care about getting all the apps installed or how long it takes.  Usually I don’t even remember until I need the app and it isn’t there.  Regardless, could save someone some time.

     

  • Large File Transfers

    One of the problems I know I’ve had in the past, especially at work, is transferring large files between two places.  Usually this happens with virtual machines, and developers needing access to the originals.  There has never been a good way around this.  I’ve tried various things: FTP, Dropbox-esque cloud sites, sneaker net, etc.

    However, I stumbled upon a new site that is doing things a bit differently.  Basically their system just maximizes the route between two endpoints and then you send the file directly.  Obviously this isn’t a good choice for upload once, consume a lot items, but if you just need to get things sent once, it could work pretty well.

    The site is called Sendoid, and they have both a web and desktop application.  Looks pretty basic and worthwhile.  I haven’t tried it yet, but it could also work well for distributed backups (house my files on someone else’s computer like my parent’s).

  • Email After 3 Weeks

    The main reason why I dislike taking such long vacations.

    Nothing like 2.8k of unread work email, 457 of which are just in my inbox.  Fun!

     

  • 2004 VW Jetta Brake Pads

    Two days ago, Yow-Yow and I were running some errands, and we noticed an awful grinding sound coming from the front passenger side whenever I would use the brakes.  Thankfully, since it is a manual, I didn’t need to use the brakes a whole lot.  Once we got a chance to look at it, we noticed that the front pad was completely gone!  The only thing I can think of is that the pad shattered during the night or something, because it was there one day and gone the next (and it was completely gone).

    Since I’m on vacation, I ran by pepboys and homedepot to get new brake pads (ceramic to keep the dust down), and a bunch of metric sockets.  I can’t believe that I work so much on my car, but don’t have any metric sockets.  Needless to say, that issue was fixed.

    Anyways, if you find yourself in a similar situation of replacing the front axle break pads on a 2004 VW Jetta TDI (or any with the FS III caliper), the guide pins (bolts on the caliper) are 7mm hex.  Of course, this resulted in another run to homedepot.  I had an Alan wrench with 6mm and 8mm (and an ASE one too), but of course no 7mm.

    Amazing how well it works with the correct tools.  Oh, and the stupid Bentley doesn’t tell you the right size or type either.  The picture alludes to a hex, but no where does it say.

    Still, only took an hour to do both sets of front pads once I had the right tools.  Hopefully this helps someone else (or me when I have to do it again).

    As an aside, I love how the wear indicator is only on 1 pad out of the 4 on the front axle.  Needless to say, the indicator didn’t go on for me, since it was on the wrong side of the rotor and the wrong side of the car.  Go, go german engineering!

     

  • MSDN Downloader Link

    I hate when I go to MSDN and am downloading a large ISO only for something to happen and the download manager closes.  I don’t have a shortcut on my desktop to it, so it is a pain to find.

    In case this happens to you, here is the link load it back up.

    “C:WindowsDownloaded Program FilesTransferMgr.exe”

     

  • SQL Dashboard 2005 for SQL 2008

    1. Install the Dashboard by running the msi, which will attempt to install to a default location of Program FilesMicrosoft SQL Server90ToolsPerformanceDashboard. Save the files to the Program FilesMicrosoft SQL Server100ToolsPerformanceDashboard directory instead
    2. Replace performance_dashboard_main.rdl in the PerformanceDashboard folder with the updated version attached below
    3. Open Management Studio and connect to the server and run the SETUP.SQL script (once for each SQL instance you want to monitor) located below and in attachment
    4. From Object Explorer select the server, right mouse click and choose Reports – Custom Reports and browse to find the PERFORMANCE_DASHBOARD_MAIN.RDL file. This report is the only report intended to be directly loaded from SSMS; all other reports are accessed as a drill through off of the main report

    2008 Dashboard Zip