0

i'm a newbie to asp.net core i'm write a web api service, which store passed data to database. in theory there is about 300-400 request per second to server in future and response time must be less than 10 seconds

but first of all i try to run some load test with locust. i write simple app with one controller and only one post method which simple return Ok() without any processing.

i try to create load to this service for 1000 users. my service run under ubuntu 16.04 with .net core 2.1 (2 Xeon 8175M with 8 GB of RAM). Locust run from dedicated computer

but i see only ~400 RPS and response time about 1400 ms. For empty action it is very big value. i'm turn off all loging, run in production mode but no luck - still ~400 rps. in system monitor (i use nmon) i see that both cpu loads only for 12-15% (total 24-30%). I have about 3 GB free ram, no network usage (about 200-300 KB/s), no disk usage, so system have hardware resource for handling request. so i think, that there is problem with some configuration or may be with system resource like sockets, handles etc

i also try to use libuv instead of managed socket, but result is same in kestrel configuration i setup explicitly Limit.MaxConnection and MaxUpgradedConnection to null (but it is default value)

so, i have two question: - in theory, can kestrel provide high rps? - if first is true, can you give me some advise for start point (links, articles and so on)

anatoly.kryzhanosky
  • 185
  • 1
  • 1
  • 18
  • https://stackoverflow.com/a/40583060/43846 – stuartd Dec 21 '18 at 09:50
  • 1
    Try to upgrade your project to .net core 2.2 which enables [In-process hosting model](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2#application-configuration) – Edward Dec 24 '18 at 02:35
  • 1
    stuartd, thank you - good point to start, Tao Zhou - in-process available for iis, but i use ubuntu, so Kestrel only options for me... but i solve my main issue - i forgot that there is proxy between my load generator and server, and that proxy really slow. i repeat test without proxy and can obtain requested performance – anatoly.kryzhanosky Jan 06 '19 at 10:52
  • 1
    @anatoly.kryzhanosky Can you provide some details on the proxy issue? We're having an issue with low RPS for our service hosted in linux containers on AWS. It is 10 times slower than similar IIS-hosted version on standalone server - so I wonder if it is really an nginx issue. – Sergey Nikitin Sep 17 '19 at 16:37
  • i don't think that my situation related to you.. but - we have proxy between aws server and local office (because some aws ip blocked by RKN) and this proxy really slow – anatoly.kryzhanosky Sep 18 '19 at 06:05

0 Answers0