Since deploying our most recent service pack, we are encountering some stability issues with the server running at 100%CPU levels sometimes after a few hours and other times a couple of days.
The main changes with our release has been the inclusion of credential and jwt authorization in our micro services.
After trawling log files, event viewers etc I found evidence of a slowdown on service calls where username and password are empty during authentication. Below you will see log files for a number of occurrences of this from the logs.
When username and password are empty, authentication is not hit, it is intercepted with the message below. Any ideas if this could be causing a leak somehow?
{
“ResponseStatus”: {
“ErrorCode”: “ValidationException”,
“Message”: “Validation failed: \r\n – ‘User Name’ should not be empty.\r\n – ‘Password’ should not be empty.”,
“StackTrace”: “[Authenticate: 20/07/2018 9:11:15 AM]:\n[REQUEST: {provider:credentials}]\nServiceStack.FluentValidation.ValidationException: Validation failed: \r\n – ‘User Name’ should not be empty.\r\n – ‘Password’ should not be empty.\r\n at ServiceStack.FluentValidation.DefaultValidatorExtensions.ValidateAndThrow[T](IValidator1 validator, T instance, String ruleSet)\r\n at ServiceStack.Auth.CredentialsAuthProvider.Authenticate(IServiceBase authService, IAuthSession session, Authenticate request)\r\n at ServiceStack.Auth.AuthenticateService.Authenticate(Authenticate request, String provider, IAuthSession session, IAuthProvider oAuthConfig)\r\n at ServiceStack.Auth.AuthenticateService.Post(Authenticate request)\r\n at lambda_method(Closure , Object , Object )\r\n at ServiceStack.Host.ServiceRunner
1.d__13.MoveNext()”,
“Errors”: [
{
“ErrorCode”: “NotEmpty”,
“FieldName”: “UserName”,
“Message”: “‘User Name’ should not be empty.”,
“Meta”: {
“PropertyName”: “User Name”
}
},
{
“ErrorCode”: “NotEmpty”,
“FieldName”: “Password”,
“Message”: “‘Password’ should not be empty.”,
“Meta”: {
“PropertyName”: “Password”
}
}
]
}
}
IIS Logs:
Note that service call times (last number in line) increase shortly after each libcurl line
2018-07-18 22:53:57 ::1 GET /accounts/my/e7c6ac96ee1d4b118038e9400c39269a - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:53:57 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:53:59 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 22:54:02 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:54:05 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 65
2018-07-18 22:54:09 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:54:13 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 22:54:15 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 3
2018-07-18 22:54:18 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:54:28 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:54:30 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 59
2018-07-18 22:54:30 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 22:54:43 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 441
2018-07-18 22:54:53 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 472
2018-07-18 22:55:05 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 571
2018-07-18 22:55:10 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 576
2018-07-18 22:55:16 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 571
2018-07-18 22:55:29 ::1 GET /accounts/my/a9acfa6069ec4f50ae237775b5aa3734 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 586
2018-07-18 22:57:12 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 495
2018-07-18 22:57:37 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 489
2018-07-18 22:57:41 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 574
2018-07-18 22:57:44 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 479
2018-07-18 22:58:12 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 518
2018-07-18 22:58:19 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 382
2018-07-18 22:58:25 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 470
2018-07-18 22:58:29 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 383
2018-07-18 22:58:33 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 449
2018-07-18 22:58:37 ::1 GET /accounts/my/a9acfa6069ec4f50ae237775b5aa3734 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 575
2018-07-18 22:58:46 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 570
2018-07-18 22:58:57 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 577
2018-07-18 22:59:01 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 579
2018-07-18 22:59:08 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 578
2018-07-18 22:59:26 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 572
2018-07-18 22:59:34 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 589
2018-07-18 22:59:42 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 569
2018-07-18 23:00:01 ::1 GET /accounts/my/e7c6ac96ee1d4b77852329400c39269a - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 965
2018-07-18 23:00:06 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 795
2018-07-18 23:00:11 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 955
2018-07-18 23:00:24 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 760
2018-07-18 23:00:42 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 824
2018-07-18 23:00:52 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 765
2018-07-18 23:01:01 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 760
2018-07-18 23:01:07 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 845
2018-07-18 23:01:09 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 914
2018-07-18 23:01:22 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 1157
2018-07-18 23:01:34 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 1187
2018-07-18 23:01:41 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 1143
2018-07-18 23:01:53 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 1138
2018-07-18 23:02:08 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 1373
AFTER REBOOT OF WEB SERVICES
2018-07-18 23:28:02 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 23:28:03 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 23:28:14 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 23:28:17 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 23:28:18 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 23:28:24 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 120
2018-07-18 23:28:29 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 6
2018-07-18 23:28:33 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 5
2018-07-18 23:28:35 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 4
2018-07-18 23:28:35 172.31.39.192 GET /authenticate provider=credentials&username=&password=&format=json 443 - 104.180.19.190 libcurl-agent/1.0 - 400 0 0 76
2018-07-18 23:28:47 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 572
2018-07-18 23:28:58 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 384
2018-07-18 23:29:04 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 547
2018-07-18 23:29:09 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 554
2018-07-18 23:29:23 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 578
2018-07-18 23:29:27 ::1 GET /accounts/my/a9acfa6069ec4f50ae237775b5aa3734 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 587
2018-07-18 23:29:30 ::1 GET /accounts/my/69f2e7ecbfea4112117b01bd5a70c539 - 9000 - ::1 ServiceStack+.NET+Client+5.02 - 200 0 0 579