Ayende @ Rahien

Oren Eini aka Ayende Rahien CEO of Hibernating Rhinos LTD, which develops RavenDB, a NoSQL Open Source Document Database.

Get in touch with me:

oren@ravendb.net

+972 52-548-6969

Posts: 7,339 | Comments: 50,708

Privacy Policy Terms
filter by tags archive
time to read 2 min | 393 words

A few days ago I had a launch of my current project to the internal customers. This meant that many more users had a chance to see the nearly-complete application. There are still a lot to do, but we are very close to feature-freeze (yeah!).

Anyway, I closed down everything the day before (around noon, so I had plenty of time to verify that it worked), the day of the presentation, I took the liberty of arriving late (I often does, actually, it allows me to skip traffic). Around 20 minutes from work, I started to get urgent phones. We have an issue with this, and there is an error with that. The application is slow, there are timeout errors, etc.

I was absolutely bewildered, it worked yesterday, and no one has changed a thing. I think that I arrived to work about ten minutes before it was to go live to the users, and I quickly started the crisis mode maneuvers. Restart IIS, Restart SQL Server. It helped for a few minutes, but then the application started to show timeout errors from the database. I increased the command timeout (single line change, in the configuration, very cool) and the application seems to have stabilized, albeit very slow.

I then start looking more deeply at the root cause of the matter. One of the first places that I looked at was the requests/sec perf counter, and it was very high for a system that no one should be using at the moment. We got a fairly high numbers of requests per second (~17), sustained over a long period of time, it was as if I suddenly had a few hundreds very active users.

It was a good chance to brush off my forensic skills, and a short while after I have determined that the hits where coming from a small set of IPs, at a very high rate. Someone was DDoSing me. It took some exchange of blame and a whole round of denials before someone remembered that they are running the stress test kit against the demo servers.

The moment that stopped, everything went back to normal, but that guy is responsible for at least three separate breakdowns, a whole lot of swearing, and quite a bit of worrying.

 Not a good way to start a demo, but once we passed that, we have gotten very positive results. :-)

Coding Metrics

time to read 1 min | 152 words

Take a look at those:

Castle: (removed image)

Rhino Tools: (removed image)

I run Ohloh before, but this time it is for my own stuff, and it looks like my Rhino Tools projects is over 70,000 Lines of code, and is worth close to 1 million dollars. I find it interesting that it is valued at 17 man years, though :-)

If you can't see the metrics below, your client doesn't allow javascript, go to the website and you'll be able to see them.

time to read 1 min | 184 words

I mentioned before that I hate infrastructure, but right now I am building the continious integration facilities for my projects, and I can't escape it. One of the biggest hurdles so far has been the install for NHibernate Query Generator. I don't know zlit about MSI, installers, etc. So I tried to take WixEdit, Votice and SharpDevelop and create a very simple Wix script that can install NQG. Took me longer than it would have taken to write an installer myself, I suspect, but I finally managed to do it.

I then turned to the skinning of the installer. I just have an issue with the default computer & disk images that 99% of the installers use. I dug up my log psd file, got the latest photoshop trial (I tried using the GIMP, horrible horrible results), and produced the following:

(Image from clipboard).png

(Image from clipboard).png

Pretty good for someone that can't draw a straight line with a ruler and three hours.

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. Challenge (69):
    01 Jul 2022 - Find the stack smash bug… – answer
  2. High performance .NET (6):
    27 Jun 2022 - Building a Redis Clone – skipping strings
  3. re (31):
    02 Jun 2022 - BonsaiDb performance update
  4. Production postmortem (37):
    29 Apr 2022 - Deduplicating replication speed
  5. Recording (3):
    11 Apr 2022 - Clean Architecture with RavenDB
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats