{"id":140,"date":"2009-04-02T13:09:07","date_gmt":"2009-04-02T17:09:07","guid":{"rendered":"http:\/\/www.webperformanceinc.com\/load_testing\/blog\/?p=140"},"modified":"2009-04-02T18:01:57","modified_gmt":"2009-04-02T22:01:57","slug":"local-connections","status":"publish","type":"post","link":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2009\/04\/local-connections\/","title":{"rendered":"Local Network Connections"},"content":{"rendered":"<p>We recently had a customer that exhibited a particular error message whenever the site went past 60-70 simultaneous users.\u00a0\u00a0 There were two servers under test, a webserver and a database\/application server.\u00a0 The only symptom we could see in the load test reports was a large number of failed TCP connections on the webserver, <em>but not on the database server<\/em>.<\/p>\n<p>Their webserver was using CGI to build and display pages.\u00a0 The CGI script would make a local TCP connection to a\u00a0 communications service running on the same machine, which would then seek out a remote application server to service the request.\u00a0\u00a0 At about 60-70 simultaneous users, we would start receiving error messages from the server indicating that the communications service was unable to connect to the application server.<\/p>\n<p>It turns out that on Windows, there is a maximum number of TCP ports that a user can use, and <a title=\"Tech Net article on MaxUserPort\" href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc938196.aspx\" target=\"_blank\">the default is 5000<\/a>.\u00a0 This particular application was making local connections to a service that provided communications to the application\/database server, and then that service would make multiple outgoing connections to the remote application server.\u00a0 These connections quickly exceeded the maximum available ports that the user could use, and started generating TCP connection failures.<\/p>\n<p>The immediate solution was to raise the MaxUserPort limit to the maximum allowable (65534), but the design itself is limited, and clearly the site would be permanently limited to about x8 the current load, or about 480-560 users.<\/p>\n<p>Network problems are not always on the network. \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We recently had a customer that exhibited a particular error message whenever the site went past 60-70 simultaneous users.\u00a0\u00a0 There were two servers under test, a webserver and a database\/application server.\u00a0 The only symptom we could see in the load test reports was a large number of failed TCP connections on the webserver, but not on the database server.<br \/>\nTheir webserver was using CGI to build and display pages.\u00a0 The CGI script would make a local TCP connection to a\u00a0 communications service running on the same machine, which would then seek out a remote application server to service the request.\u00a0\u00a0 At &hellip; <a href=\"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/2009\/04\/local-connections\/\">Continue reading &raquo;<\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-140","post","type-post","status-publish","format-standard","hentry","category-aspnet"],"_links":{"self":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/comments?post=140"}],"version-history":[{"count":4,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":210,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/posts\/140\/revisions\/210"}],"wp:attachment":[{"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/media?parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/categories?post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webperformance.com\/load-testing-tools\/blog\/wp-json\/wp\/v2\/tags?post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}