-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement ThreadPool for Server Threading #145
Comments
Here are some .diagsession files generated by VS 2015's profiling tool. In all cases, my app was loaded and some initialization done, but then the only messages it received were REST requests that were effectively pings. No work was done except for responding with an string constant. My client measures the msec per request, and this number varies. I haven't seen any regularity to it yet. The first time I profiled it, the time was 20 msec/request. That corresponds to the attached file named Report20161119-cpu-fast.diagsession. The second run was 412 msec/request. That's in Report20161119-cpu-slow.diagsession. In both cases, the profiler's CPU usage tool was used to record the data. The final file (Report20161119-memory-two-runs.diagsession) is a memory tool recording. There are two memory snapshots. One was done after app initialization but before any REST messages had been sent. The second snapshot was done after I'd run my client twice. Each time, it sent 100 requests. The first of these client runs was at 3 msec/request. The second client run (batch of 100 requests) was at 73 msec/request. (That is, the client was called twice, issuing 100 requests each time while the server was run once with the memory tool attached.) You'll note that I'm not carefully warming up the server. When it's fast, it's fine. When it's slow, it's much slower than it should be, and it doesn't seem likely that jitting or some other startup cost is relevant. Here are the files. (github requires the file to have one of a limited number of extensions, and I don't know whether it checks the file itself to ensure that the extension corresponds to the file contents, so I'm using dropbox.) |
I've noticed that about github and file extensions. I typically will just add a |
The master branch is now using a ThreadPool instead of managing it's own threads. You'll see that the |
Move from managing threads internally to using a thread pool.
This might help with an issue some users are seeing with CPU spikes (#138)
The text was updated successfully, but these errors were encountered: