R
Ryan Liu
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
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