service soemtime will get slower -- what to watch



Hi,

I use C# wrote an Client/Server application. In production environment, will be 130 clients (Windows XP) connect to a Server (Windows 2000/2003 Server) thought TCP/IP socket in a local 100M LAN. "Server" is running as a Windows service. The is one thread running for one clinet in the server.

Sometime the user tells me the Sever will be slow after it runs for 1-2 days.

Usually what will be the cause? Managed code won't have memory leaking, right? And how efficient is the garbage collection in .NET? Should I force garbage collection once a while in my code?

And if I want to use the performance counter to check the problem, what usually are the objects/parameters I should look at? How many threads are running for my service? Memory used by the service or each server thread in my service? Thread idle time ..? I just see too many things in the performance counter.

And if I write code to sample those performance parameters, will it make the service runs even slower?

Thanks!

Ryan

.



Relevant Pages

  • SecurityException with PerformanceCounter on remote server in .NET 2.0
    ... performance counter on a remote server and monitor its value. ... Console.WriteLine("Hit ENTER to quit application."); ... unterName, String instanceName, String machineName) ...
    (microsoft.public.dotnet.security)
  • SecurityException with PerformanceCounter on remote server in .NET 2.0
    ... open up a performance counter on a remote server and monitor its value. ... Console.WriteLine("Hit ENTER to quit application."); ... unterName, String instanceName, String machineName) ...
    (microsoft.public.dotnet.languages.csharp)
  • RE: performancecounter object and remote server
    ... PerformanceCounterCategory class. ... I have setup a 3rd server, run my code against and it was successfull. ... you're using the .NET performance counter to open ...
    (microsoft.public.dotnet.general)
  • Re: context switch
    ... Threads used by mysql server on the same machine, context/switches is ... And as for I/O data bytes/sec, mysql is 350,000 to 439,951. ... Maybe numbers in performance counter are different. ...
    (microsoft.public.dotnet.languages.csharp)
  • RE: Slow performance with garbage collection
    ... The .NET runtime will not choose server GC unless explicitly told you. ... >have noticed that there is a lot of time spent in the garbage collection. ... >and the large object heap size reflects this. ... >update the config settings so mscorsvr.dll would be used instead and enable ...
    (microsoft.public.dotnet.framework)

Loading