472,958 Members | 2,345 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,958 software developers and data experts.

Scalability problem With .Net and Sqlserver

I need Technical Support

I finished a Great project using .Net and SQL Server and .Net Mobile

My Business case is to implement this Program to accept about 1
Million concurrent users

So I designed the project as master Node that has all administration
project and about 10 client Nodes

Those subscribers will login and I configured the replication at
Server that can publish any change to the Nodes

And I tried this technique and every thing is perfect.

NOW I am at final test

I want to proof that my project at every Node is scalable up to 100
000 concurrent users

My problem is

1- I have not Any Test tool to generate this Huge connections

2- I do not Know How to configure the tool to let me got
reasonable Result

3- I do not know if My Environment is suitable for real test or

4- Finally I do not know where is the hole at my program that
made a bottle neck in this project

The Problem in detail

I tried to Download ANTS program and tried it but unfortunately
it gave me only 5 client to test I do not know if it possible to
increase this value at another test program or not?

I tried to using Microsoft Test Center but I do not know How to
configure the parameter

for Example the Only parameter that gave me is No of client and No of

No of client is very limited to 2000 and you can specify huge no of

but I still do not understand is it possible that 100 000 concurrent
users login at same time ?

is the network latency and bandwidth is it a huge bottle neck that
will permit the concurrent user to login in different time

I think that the average no of request depend on the bandwidth of
channel that established between client and server

So I think that the MTC generate concurrent connection and per
connection try to do it several time

Real Test

I tried with 2000 concurrent user and 1000 Iteration

at NT2003 Server with MS SQL Server 1 G.B RAM and 3GHz

and the result was very very strange

the program at first connection establish a pool with minimum
20 and max is 100 {I do not know is it suitable for my project or

I see the performance monitor and I found that the connection begin
with 20 connections and increase linearly up to 1000 connections

and the result of the test is fail and the error was different and I
could not understand the result

after that I tied manually to run the application at I could
not I found the curser is busy and no reply

in the program it was configured that after the db connection time out
it reply with error it never happen

I wait more than 2 minutes and still busy

So I assumed that problem happen in db I restart SQL Server and I
found that still problem exist the site too busy and nothing happen

after that I restart the IIS and nothing Happen

this result very strange because it means the Server feel a very high
traffic contention at his resource but this resource is not DB or IIS

So what type of this resource??


Is this problem because .Net with every hit Create many object
and leave it to Garbage collection to release and the connection was
very fast so it makes a problem before triggering the garbage

is this problem because I did not use the COM+ for pooling
?{but I read an article at .NET help called that no need to use COM+
at pooling because

..NET with SQLClient is automatically use the pooling and He advises to
do not complicate program with using this technique use it only with
..net with OLEDB like oracle or any db Actually I tried this manually
and it was work but with few no of connections and observing NT
Performance monitor with SQL server connections}

Actually I have no clue How to pin the COM+ to OS and dose I need to
special tool or I can do it using .NET?

Is this problem is due to limitation of SQL Server and Windows
2003 Server as Development tool limitation Actually this server was
completely installed with toolkit that shipped with .NET enterprise
this toolkit have SQL Server2000 and windows 2003 windows 2000 and
exchange server and ecommerce,

So is it for Development purpose did not support a huge connection??

Note: I tried to limit the IIS for only 1000 concurrent connections
and I found the MTC still send connection and it was more than 1000
connection and still work without error ? SO I have doubt of the

is the problem that I load a lot of information from web.config with
each connection to program like get the db connection?

I NEED IF IT Possible

1-Good test program with the minimum configuration to reach my target
100 000 concurrent users

2-Article about the bottle neck at any project with .NET and SQL
Server and .Net Mobile Controls that may be cause a problem?

3-If is Microsoft Test Center is good How Can I configure this test to
reach my target 100 000 concurrent user

And how can I test it?

3- Finally I will write the source code of the main 3 Part

the Source Code

connection to database

public Message Connect()


UTIL util=new UTIL(session);

if(myConnection!=null)if(myConnection.State==Syste m.Data.ConnectionState.Open)


return new
Message(true,"Is Already opened",0);




myConnection = new SqlConnection();

if(util.ConnectionString.Trim()==String.Empty)util .ConnectionString=UTIL.UserApp.GetFromUserPart("DA TABASENAME");

if(util.ContentDataConnectionString.Trim()==String .Empty)util.ContentDataConnectionString=UTIL.UserA pp.GetFromUserPart("CONTENTDATABASENAME");

myConnection.ConnectionString =

if( myConnection.State.ToString().ToUpper()
!="OPEN" ) myConnection.Open();

return new Message(true,"",0);


catch(Exception ex)


return new Message(false,ex.Message,-1);



Retrieve data From db

public Message Retreive(string sql,DataSet dataResult)


long val;




SqlDataAdapter myDataAdapt=new






return new Message(true,"",val);


catch(Exception e)



return new Message(false,e.Message,-1);


Jul 20 '05 #1
0 1937

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: Wenning Qiu | last post by:
I am researching issues related to emdedding Python in C++ for a project. My project will be running on an SMP box and requires scalability. However, my test shows that Python threading has very...
by: Arpan | last post by:
What does the term "scalability of an application" mean? Thanks, Arpan
by: Khaled D Elmeleegy | last post by:
--=_alternative 004FC1E080256D75_= Content-Type: text/plain; charset="us-ascii" I am studying the scalability of MYSQL on SMPs on Linux. I am wondering if any one has performed scalability...
by: tharma | last post by:
I was wondering if some one provides some information about scalability and performance of ASP vs JSP. Scalability of JSP vs. ASP (which one is better?) Performance of JSP vs. ASP (which has...
by: Duffey, Kevin | last post by:
We are looking for information regarding any capabilities of PostgreSQL in regards to scalability. Ideally we want to be able to scale in both directions. What sort of solutions are out there for...
by: ppateel | last post by:
Hi, First I would like to apologize for cross posting in three groups as I did not know which one would be the appropriate group. If some one points me to the correct one I will use that in the...
by: Jenniflower | last post by:
Hi Gurus, Our system is using SqlServer 2005 on XP.( On my machine,only this application access SQLServer.) The sqlserver memory is configured to 128MB (Min)~512 MB(Max) After our system get...
by: Gordowey | last post by:
Hi all, I would like to ear your opinion about the best approach for and ASP.net with high workload traffic (High number of visitors) using SQL DB Consider the following scenario: - Website...
by: Tim Mitchell | last post by:
Hi All, I work on a desktop application that has been developed using python and GTK (see www.leapfrog3d.com). We have around 150k lines of python code (and 200k+ lines of C). We also have a...
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
by: NeoPa | last post by:
Introduction For this article I'll be using a very simple database which has Form (clsForm) & Report (clsReport) classes that simply handle making the calling Form invisible until the Form, or all...
by: Teri B | last post by:
Hi, I have created a sub-form Roles. In my course form the user selects the roles assigned to the course. 0ne-to-many. One course many roles. Then I created a report based on the Course form and...
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...
by: GKJR | last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.