RDBMS search performance isn’t all that bad

Pretty much all of the Search vendors would have you believe that RDBMS’s can’t scale beyond a couple hundred searches per second no matter how much horsepower you throw at them.

I don’t doubt this is true for very large numbers of records where freetext and/or Assisted / Guided Navigation is involved, however, if your search criteria and data is structured and indexed properly, e.g. Price, Location, Number Of Bedrooms, Property Type, Car Make, Car Model, etc., then you can achieve very high numbers of searches per second using traditional RDBMS’s without the need for fancy Search technology.

As part of our load testing of Microsoft SQL Server 2005 we have developed scripts to replay searches, which were executed by users of our website, against Microsoft SQL Server 2005.

A single Dell PowerEdge 1850, 2 x 3Ghz Intel processors (not dual core), 8GB RAM, 10K RPM SCSI disks, Windows 2003 Server SP1 x64 and Microsoft SQL Server 2005 SP1 x64 averaged 75 searches (complex query involving several database tables and recording search criteria) per second at approximately 70% CPU utilisation. For a while, whilst 4 threads were running, it averaged over 100 searches per second although the CPU was much higher. I see no reason why this wouldn’t scale almost linearly if more, RAM, processors, faster processors, disks and 15K RPM SCSI disks were used.

Your mileage may vary so don’t take my word for it.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: