Click to See Complete Forum and Search --> : Info needed on Performance tools


srinidhivarne
October 18th, 2001, 11:56 PM
Hello,

I have got a n-tier architecture application ready for installation. The application is made of VB forms, ActiveX dlls and the database layer which is SQL server 7.0. I want to know whether can I get any tool to assess its performance. I am sorry if I am posting to the wrong forum, but will be mighty happy if any one of you can throw any pointer on this. This is urgent....

Srini

Cakkie
October 19th, 2001, 01:58 AM
Performance of a n-tier application is always hard to track, because of the fact that you are working on multiple computers, across network. You must look at performance at each of these points. The problem is, there is no tool that does them all.

You have the client which needs to process the data. You will need to check how long it takes to complete certain tasks, and evaluate if the result is satisfactory.

You have the application server, or in other words, the server on which the components actually run. Depending on the load the server gets and the power of the processor, you will need to come to a simular evaluation. How long does it take to do the stuff it needs to do, and is that good or bad performance.

Then you have the data server, in this case, SQL server. If you are talking about performance, you won't get much better than SQL server, of course, things need to written correct. I mean, some thing are very optimized in SQL, take stored procedures, compiled, so way faster than a plain SQL statement. Also, select only what you need, cause now we come to the last step.

The network. Measuring performance of the network is one of the hardest things to do. What you need to do is get a tool that measures the amount of data going over the network, and place that on each computer involved. It is very important to know how much you send, and how much you return. What you really need to know is, how much do I need to send, and how much do I need to get back. A key rule here is, "if you don't need it, don't send it", select only that data you need, to make the data smaller, cause the network is the most common bottlekneck of n-tier applicaztions.

Tom Cannaerts
slisse@planetinternet.be

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning -- Rich Cook

srinidhivarne
October 19th, 2001, 02:14 AM
Thanks Tom for the pointers. Though I must say I knew majority of your tips, I would still be happier if you can throw some light on where do I get such a tool? Considering that the Internet is a data warehouse for such stuff, I should definitely get it at some site. If you or any of the friends at CODEGURU can tell me where to go, I can go and download the tool. Any kind of pointers is appreciated buddies....

Cakkie
October 19th, 2001, 08:46 AM
Well, how we do it is just by using the tools M$ gives us. On the SQL server, we use performance monitor to check on memory, cpu load and stuff. On the application server, we use performance monitor, and Component Services, which can give a nice overview of what components are currently active, for how long they are active and that stuff. If we really suspect a component of "misbehaviour", we implement code in it to see what it is doing (by writing data to a text file). Same goes for the client, we implement code that will track how long a specific task will do to complete. Finally, for netork traffic, we use a little program called DUMeter, which gives an overview of the amount of data being sent over that moment, also very handy for when you need to know how much data passes the servers like say in an hour or so.

This isn't a really good and handy solution, but it does the job for us. Also note that performance monitor is capable of connecting to other machines (win2k only, I believe), to keep track there.

Tom Cannaerts
slisse@planetinternet.be

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning -- Rich Cook

srinidhivarne
October 20th, 2001, 12:03 AM
Again thanks Tom for further pointers. Yes, we are using performance monitors in SQL and Application server to check on the performance. The fact that ours is an OLTP(Online transaction processing) system has made us to use MTS for maintaining transactions. I have downloaded DUMeter and was impressed with it. I have a further clarification needed from you. How will I use DUMeter for my application? The DUMeter help says it will monitor the network traffic if the PC is hooked to the NET. Infact, it is showing the graph and numerical values of the Upload and Download that is happening. But how will it help me in estimating my application's performance. Are you suggesting that I install it on my application server and when I run my application which is a set of VB forms, it will tell me what is the load on the server? Please do guide me....

Cakkie
October 22nd, 2001, 01:13 AM
Well, what you need to do is see how much time it take to send an amount of data over the net. If your app becomes slow, the network might be a serious bottlekneck. We once had this situation, when running an application on Win2k Server, it gave very poor performance. After some testing, we noticed that it didn't send anything over the network. Another time, my boss asked me why his report opened so slow. When I used the tool, I could see that the report (Crystal), dragged more then 4 MB data over our 256K leased line. My point is, it is usefull for diagnostics and troubleshooting, just to get an idea on how the network is doing, and help you eliminate possibilities when it comes to finding the problem.

Tom Cannaerts
slisse@planetinternet.be

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning -- Rich Cook