The adventures of a developer seeking good performance…

time to read 4 min | 736 words

I am beginning to really appreciate a lot of enterprise-y stuff. Mostly because my poor laptop is no longer a real development machine, but just barely adequate for the job. In local development mode, my machine needs to carry SQL Server, ASP.Net, My application (not light weight, I am afraid), VS.Net, SQL Management Studio, Outlook, etc. This is not conductive to a proper working conditions, or my continued sanity.

I understand that the problem is paging, so I did a search about paging performance, and apparently the answer to that is to use Ajax to reduce the load. I tried to convince Windows to do paging using Ajax, but it stubbornly refused to cooperate.

I mean, everyone knows that Java script is built into Windows, I don’t see why I can’t use it to customize the way Windows work. I mean, it is pretty straightforward, it you think of it. I saw Scott Guthrie’s video, and it only took him a few minutes to do it.

Then I realized that it was because he used Atlas, and not plain Ajax. I was elated, and immediately set to use Atlas to reduce the paging on my machine. It didn’t work, although I am not sure why. Okay, I understand that Atlas is in beta, and won’t be release in a million years or so, but still. Paging seems to be pretty basic requirement from an Ajax toolkit.

I’m beginning to fear that Ajax is not the answer to everything, no doubt because it doesn’t have 42 in its name. I heard that Microsoft has a Project 42 somewhere, I bet that they are working on this at this moment. It seems elementary to use Ajax experience to speed up Windows.

Never mind, after seeing that Ajax is not the solution, I found a password to one of the useless servers and took over it. It had all sort of crappy stuff that I don’t know like BizTalk and Back Office. I don’t like back offices and no one serious would call their product BizTalk, so I kicked them out, put the development database on it, and started to work against it.

Someone also put a lot of data in SQL Server there. And it was really busy serving some really stupid queries. I mean, it was all stored procedure calls, and I didn’t like the naming convention: “hr_PaySalaries”, “hr_EndOfMonthProcessing”. It was keeping the server too busy, so I dropped the database, and everything worked just fine after that.

Even with network latencies, just turning SQL Server off brought some performance improvements. If remote debugging wasn’t such a pain, I would have moved the web server itself to another machine. It is really hard to work right now, because there is a lot of screaming and shouting outside the door. I do my best to ignore it, but it is pretty hard. It sound like the sys admin is pretty pissed. And he should be, if he was doing his job I would have to work so hard to get a proper server.

I also spent some time adding caching to the application, which should help, but several tests broke. I fixed that pretty quickly. Apparently the old “we can do it the easy way or I can bring out the 5 Kg hammer” work on this machine. I’m seriously considering adding distributed caching to the application, just so the cache wouldn’t get lost every time that I restart the application (and, of course, so the cache wouldn’t take memory on my machine).

I just need a few machines with a lot of RAM available. The problem is that I had only one server password, and the way the sys-admin is shouting outside, I don’t think it is a good time to ask him for another one. I am thinking about writing a script and sending it to all my contact list, it will install the distributed cache and then I will finally have enough RAM to work.

I think I got to go now, I just got a very angry email saying I need to go to the servers room, and I’m not sure why. I am working very hard just to be able to work. Maybe they finally realized that I need a stronger machine and they will let me choose my next machine…

Note: this post was written while waiting for VS.Net to start responding…