asp.net performance

We’ve been having some trouble with our main ASP.NET application in work recently. (It’s our intranet, basically.) It’s been growing a lot lately, with more and more functionality being added to it, and more and more users accessing it. It’s running on a Windows 2000 server under ASP.NET 1.1. I have a new server set up that I’m planning on moving it to — it’s running Windows Server 2003, and I was planning on upgrading the app to ASP.NET 2.0 before moving it over. Given the performance problems, though, and my general lack of spare time, I’m thinking about moving it over as is, just to see if that helps, then maybe upgrading it to 2.0 later, when I have some time.

I know that there’s probably a lot I could do to tweak the performance on this application. We’ve done very little in the way of performance-tuning on our ASP.NET stuff. I discovered a book from Microsoft yesterday, Improving .NET Application Performance and Scalability, which I think should be some help in guiding us through some tuning and optimization. The book is available as a PDF download, and it’s about 1100 pages. I read through a couple of chapters tonight, and it’s definitely got some useful advice on ASP.NET, ADO.NET, and SQL Server tuning. There’s plenty more in there too, but that’s all I’ve had time to read so far. I’m finding it useful enough that I went over to Amazon and ordered a used copy of the dead tree version. Highly recommended, if you need to do some .Net tuning, and you’re not sure where to start.

lots of computers

Right now, I’m running a full backup of my desktop PC to my new 500 GB external drive. I’m also working on wiping my old Gateway and reinstalling Windows XP on it, so I can hand it off to a friend who has some use for it. And I’m also installing various things on my new Vista laptop. So I’m jumping around from machine to machine, checking on stuff, pressing “OK” a lot, and stuff like that.

On the Vista laptop, I’ve spent several hours trying to get Visual Studio 2005 and SQL Server Express set up. Everything seems to be working now, but it sure takes a long time to get that all set up. First, you have to install the original VS 2005 package from DVD. That takes a while. Then, you have to install SP 1. That can take quite a while: several hours. There’s a good explanation for this lengthy install here, and apparently Vista adds even more of a complication to this, so it takes even longer under Vista vs. XP.

After SP1, you need to install the Visual Studio 2005 Service Pack 1 Update for Windows Vista Beta. I’m a little alarmed that this is still a beta; you’d think that one of Microsoft’s first priorities would be getting a good solid development environment running on Vista.

And, if you want to bring SQL Express up to date, you need to install SQL 2005 Service Pack 2. I’m not 100% if I had to do both of these, but I installed “SQL Server 2005 Express Edition with Advanced Services” and “SQL Server 2005 Express Edition Toolkit”. Then, I went back and installed the latest Books Online files.

So, all that took about four hours. Call me crazy, but that really seems like too long just to set up your development environment. Back in the old days, it’d take maybe 5 minutes to install, say, Clipper 5.2 or Turbo Pascal. I guess this is progress, but it doesn’t feel like it!

ACM

I’ve been playing around today with the online book access I can get through ACM. You can get access to about 500 books from Safari and 400 from Books 24×7. Mind you, there are thousands of books on the main Safari site, and thousands more on the main Books 24×7 site. A regular Safari subscription is $20 per month, and Books 24×7 is about $450 per year, so both those options are a bit expensive. There are some useful titles among the limited library of books available through ACM, but not too many recent ones. For instance, there’s a good bit of stuff on .Net 1.1, but very little on .Net 2.0. I don’t think I could just stop buying computer books, based on the selection available through ACM, but there is some good reference stuff there. There’s also not much you can do in the way of printing from either service, within the ACM section. Still, I’m going to try to keep this stuff in mind before running out and buying any more computer books, and I’m going to try to remember to seach these services the next time I’m trying to solve a programming problem.

New Jersey Code Camp

I went to New Jersey Code Camp yesterday, but I only stayed for the first two sessions, then I left to go off and take care of something at work. I like the concept. One of the sessions I attended went over my head, I think, while the other one mostly covered stuff I already know. It would have been interesting to stay through the whole thing and see how some of the other sessions shaped up.

Code Complete

I bought Steve McConnell’s Code Complete about 10 years ago. I never quite finished reading it, but I dusted it off at some point last year, and I’ve been reading a chapter every once in a while, when I get the chance. I just finished chapter 18, on code layout. Most of the stuff he’s writing about is stuff I know from experience at this stage in my career, but it’s still worthwhile to reinforce good habits occasionally. And, sometimes, he points out something that hadn’t occured to me, or brings up something I’m not familiar with. There’s a second edition out now that’s probably worth getting, but I think I’ll just try and finish the first edition before I worry about that.

Python

I had to learn Python this week for a little project at work. (OK, I guess I didn’t have to learn Python, but it seemed like the best tool for the job.) Just for reference, here are some key sites, if you’re going to try to pick up Python:

I’ve also found that the Python 2.1 Bible is a decent book to get started with.

PHP

Check out phpmac.com for information on running PHP on a Mac.

I’ve just started playing around with PHP a bit, since there’s a chance we’ll need to do something with it at work. Everything else we’re doing is ASP.NET, but we’re outsourucing something that’s liable to be done in PHP. As usual, I’ll probably end up supporting it after it’s delivered. I’ve got nothing against PHP, but it sure would be nice if I didn’t have to learn yet another scripting language!