Skip to content
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

Apache configuration requirement when we upgrade to the ALB #15

Open
hans-zand opened this issue Jun 22, 2021 · 0 comments
Open

Apache configuration requirement when we upgrade to the ALB #15

hans-zand opened this issue Jun 22, 2021 · 0 comments

Comments

@hans-zand
Copy link
Contributor

When did the performance test after upgrade the Classic load balancers(CLB) to Application load balancers(ALB), metric shows that, there were about 5% 5xx-errors.

here is the list of the issues:

  • Timeout was 60 seconds, which is the same as ALB timeout. so apache terminate the connections before the ALB
  • CPU usage in the dispatchers is too high and instances keep terminating before scale-up
  • Maximum number of keep-alive requests was low, so the queue will be full and connections will time out with 5xx error
hans-zand added a commit to hans-zand/aem-helloworld-publish-dispatcher that referenced this issue Jun 22, 2021
* CPU usage in the dispatchers was too high and instances keep terminating before scale-up
Fix: Turn on keep-alives to reduce CPU utilization and improve response time. With keep-alives on, the load balancer doesn't need to establish a new TCP connection for every HTTP request.
KeepAlive is not set to On to fix the CPU usage problem.

* ALB terminates the connections after 60 seconds. so apache configuration should be higher than it.
Fix: When the keep-alive option is enabled, choose a longer keep-alive timeout than the load balancer idle timeout.
keep-alive time out is not set to 65. which is 5 seconds longer than default ALB timeout.

* Maximum number of keep-alive requests was low, so the queue will be full and and connection will time out with 5xx error
Fix: This option sets how many requests a single TCP connection serves when keep-alive is on. For optimal usage of resources, set the maximum number of keep-alive requests to 100 or higher.
This value is now set to 0 which means there wont be any limitation in number of keep-alive connections.
cliffano added a commit that referenced this issue Aug 13, 2021
* shinesolutions/aem-helloworld-publish-dispatcher #15

* CPU usage in the dispatchers was too high and instances keep terminating before scale-up
Fix: Turn on keep-alives to reduce CPU utilization and improve response time. With keep-alives on, the load balancer doesn't need to establish a new TCP connection for every HTTP request.
KeepAlive is not set to On to fix the CPU usage problem.

* ALB terminates the connections after 60 seconds. so apache configuration should be higher than it.
Fix: When the keep-alive option is enabled, choose a longer keep-alive timeout than the load balancer idle timeout.
keep-alive time out is not set to 65. which is 5 seconds longer than default ALB timeout.

* Maximum number of keep-alive requests was low, so the queue will be full and and connection will time out with 5xx error
Fix: This option sets how many requests a single TCP connection serves when keep-alive is on. For optimal usage of resources, set the maximum number of keep-alive requests to 100 or higher.
This value is now set to 0 which means there wont be any limitation in number of keep-alive connections.

* Minor rewording.

Co-authored-by: Cliffano Subagio <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant