Too many Active TCP connection from Clients appear in the E10 Application server

We observe strange behaviour within Epicor 10 Applications server which the client users connect to it:

When we login to that server and run from “cmd” the comman “netstate” we can see that same IP is having too much active connections/session in the server.

Is that a normal behavior or something could be wrong,

Below output from the server:

You get a connection per service in e10 rich client. I assume that’s what you are discussing?

1 Like

With net.tcp, it’s a connection per service from the E10 rich client for as long as that client session is open, correct?

Correct - ish. For fun, turn on trace://system/host
You will see some noise on app server startup but as you use the app and a new service is called you will see:
Service Foo created

Where Foo is any of the server services. We kick off listeners as they are requested. Each of those services then will manage the connections to the client.
If a connection is dropped, the client knows how to reconnect (Internet communication having a hiccup? Unheard of!)

WCF can handle a lot of connections. It’s not the same as an app server to db or Browser to IIS.

1 Like

Yes I can see too many connections from each e10 client on the server.

So I can understand it is a normal behavior to see many services/connections established from same E10 client on the server ? and nothing wrong with that ?

Correct. If you look at the E10 server deployment, you will see over a thousand different services.
-Search for svc files in your server deployment for fun - I have 1721 on my local play instance for example under ice/bo or erp/lib, etc:

Each of those is potentially a stand alone service.
E10 currently shares a common data model and other shared framework functionality so I wouldn’t call each a microservice quite yet :wink:

Each has a pool of listeners that WCF keeps warm and when a client calls comes in, WCF dispatches the request to the appropriate service, standing them up as needed. In this way, server requests are dispatched quickly to a pool of actively used services but the entire site does not sit and grind for 15 minutes on a IIS Reset - Ever wonder why a server is sluggish for a while after a IIS Reset? WCF is standing these services up on first request amongst other areas caches up compiled queries and the like.

Snippet from server ‘trace://system/host’ log:

One of the things I have always wanted to play with in the SaaS hosting side is splitting these services into logical chunks for scale out of just what is needed. Luckily WCF does do a decent job of managing the pools of connection better than I hoped ten years ago banging my head against a whiteboard in Redmond dreaming up the server with the Microsoft dev teams :slight_smile:

Thanks then it is fine for me nothing to worry about.

Last issue I can see many of these TCP sessions/connection still established even after we close the client from the client side ?

So at the when I close the E10 client all the connections related to that IP/user should disappear, but when I type netstat on the server most of the time I still see session.

THAT smells odd. If you have closed the client (And system monitor) nothing should be keeping things open.

Yes, that what I also smell.
Any idea how to trace or to troubleshoot ?
If I newly opened it and closed it yes it will close, but after using it for some time and close it, sessions still show on the server.