Performance, Scalability, Feathers and Bricks

June 29, 2011

Which weighs more – a ton of feathers or a ton of bricks?  In PORTIA’s Performance & Scalability team, we don’t spend too much time thinking about tons of feathers or bricks, but we do spend time thinking about the tons of data that PORTIA and PORTIA Perform handles in real time.  We know that PORTIA and PORTIA Perform can easily handle the volumes of data we see in our current client base, so we focus on testing and optimizing both performance and scalability over data sets that are multiples of the size of our largest client’s data.  This ensures that we stay well ahead of client needs and can handle those times when our clients see sudden and substantial growth in volume through mergers, acquisitions, rapid organic business growth, etc.

We take performance and scalability very seriously – we have a development team specifically focused on this area of architecture and development, and we have a performance and scale process that layers directly into our overall product lifecycle process.  We give performance and scale the same weight of consideration as any functional enhancements to our solutions.  This means that we work these types of improvements from early requirements discussions through to delivery and deployment of each version of the software, so that we continuously measure and improve. 

In addition to our continuous improvement model, we engage in specific deep-dive efforts when we upgrade any underlying software or hardware that may affect performance.  For example, we recently upgraded to the latest version of SQL Server (2008 R2), so we executed one of these deep dives by taking PORTIA Perform to the lab to measure and optimize performance and scalability on this platform. 

In our preparation for a lab, we build a database with a volume of data that is similar to a typical client data set with good coverage of security types and a mix of positions and transactions over those security types to represent comprehensive coverage of equity, fixed income, and derivatives trading activity.  Then we increase that database to a multiple of its size so that we are testing volumes of data that are well beyond those of our current clients.  In other words… tons of data.  For our recent test with Perform at the lab, we increased the database to ten times the size of our largest client database.

With our database loaded with tons of data, and our test scripts prepared to scale up our processing with tons more data, we ran through a very structured three-step process at the lab where we execute iterative cycles of the following steps:

 

 

The results of our efforts were very rewarding.  Running a data set that was ten times larger than any large client database, we optimized Perform to run four times faster in consuming data and fifteen times faster in producing data for extracts.  This is an impressive result in terms of both scaling to large volumes and maintaining good performance in processing over that large scale.  

So, a ton of feathers really does weigh the same as a ton of bricks.  And we can assure you that, with PORTIA and PORTIA Perform running your middle-to-back office operations, a ton of data will always feel lighter than either. 

-Dominic Flanagan, Vice President of Technology & Product Operations

Advertisements

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: