Unsolved

This post is more than 5 years old

2698

June 18th, 2009 14:00

Open C-Clip from multiple threads

We have many users that read data from the same c-clip. Every user thread opens a clip, finds a blob and reads the data from the blob. at the end, the thread closes the blob and the clip.

We see huge performance degradation on Centera side when number of  simultaneous requests hit 500. The access time goes from 100 ms per user to 800 ms per user. When we increase number of users, the access time goes up dramatically, sometimes up to 10 sec per request.

We tried to cache opened clip for some time to minimize the number of clip open-close operations. This effort was not very successful; Although we had better response time, our server crushes with Access Violation error that was originated somewhere down in Centera SDK libraries.

We use SDK 3.2 and .Net wrapper for Centera.

2 Intern

 • 

417 Posts

June 22nd, 2009 04:00

Igor - I believe Paul McKeown is already talking to you on this. However there are some points of general interest in your question.

Centera should always be deployed in a tiered acrhitecture where an Application Server of some sort "brokers" / throttles the requests to the cluster. Large numbers of "Fat" clients will give poor performance as this is not how the Centera is designed to work.

As a rule of thumb, you are allowd approximately 20 active threads per Access Node. For a 4 Access Node system this would (ideally) be a single process sharing a pool connection amongst 80 worker threads, but it certainly would not give good performance with more than 80 open connections.

June 22nd, 2009 05:00

Thank you very much for your answer!

As a matter of fact, we do have application server that access Centera box of behalf of clients. When large enough number of clients (500+) hit application server simultaneously and every client tries to read data from different Centera c-clips then we have performance degradation.

Our application server does not serialize access to Centera box, and this is, as I understood, the source of our performance degradation. Let me ask you another question, though. In the same scenario, when 500+ clients access the application server, would access time for individual client be better if we serialize requests and would keep “ideal” number threads accessing Centera box simultaneously?

2 Intern

 • 

417 Posts

June 22nd, 2009 06:00

Igor - the performance for individual requests should be better if the cluster is not "overloaded", as the degradation is not linear in proportion to the number of connections.

No Events found!

Top