Web Connection User Discussions
Scaling up
Gravatar is a globally recognized avatar based on your email address. Scaling up
  Michael B
  All
  Apr 24, 2020 @ 05:03am

Rick,

I had a client ask me how much of a beating my api could take. I fired up Web Surge and started testing. I discovered that one of the api functions is rather slow (about 5 seconds) and even though the server has 10 exe's running, it seems like only one gets used. My thinking was that if i have ServerLoading=1 in the wc.ini that each request would get served to each running and available exe.

I did try to toggle that to 0 but it had no effect. I wondered if Web Surge is using the same connection by design and in that case I cannot discover how much of an improvement having more than a single instance of my server running.

Let me know?

Gravatar is a globally recognized avatar based on your email address. re: Scaling up
  Rick Strahl
  Michael B
  Apr 24, 2020 @ 01:32pm

Are you saying only one instance is running at a time when a pool of instnaces is running, or are you saying it's always using load based (ie. only the first available server is used)? The first doesn't seem possible, the latter means you're running in Load based (0) mode.

Round Robin rotates through the list of servers in a fixed order. The pool manager keeps track of the active index and starts looking for available servers at the next index. If that's busy it goes to the next and so on until it finds one. The end result here is that all servers get accessed because it basically goes through the pool with each successive request.

Load based always starts at index 0 and looks for the next server - if busy it goes to the next until it finds one that's not busy. The end result of that is that if the server is only moderately busy, only the first or first few servers get loaded while the others only get fired (if ever) when all others before it are busy.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: Scaling up
  Michael B
  Rick Strahl
  Apr 25, 2020 @ 05:33am

I am not sure I know how to answer your question accurately. I started my test with WebSurge by having a single file based instance running. I can see my recursive test takes roughly 5 seconds to process. In a minute we get 6 successful tests. I said to myself if i put it in com, and set it up to run 10 instances, in theory i should get an exponential number of successful tests since if one instance is busy the next would get my request.

Long story short was that I saw same exact performance with 10 instances running.

Gravatar is a globally recognized avatar based on your email address. re: Scaling up
  Rick Strahl
  Michael B
  Apr 25, 2020 @ 11:53am

Are multiple instances running simultaneously?

If not there's something wrong and the something most likely is that you don't have your COM server set as SingleUse...

If your requests are CPU bound and you don't have multiple processors then more instances are not necessarily going to help your overall performance. Recommendation is 2 instances per processor but that can be adjusted depending on whether your load is CPU or IO bound. CPU bound is raw local processing, IO bound is say waiting on a SQL Service on another box.

Bottom line if only one instance is actually going with multiple instances defined something is not set up right - you have to be trying pretty hard to make that not work though...

+++ Rick ---

© 1996-2020