Avoid oom-killer by limiting simultaneous users
up vote
5
down vote
favorite
I'm trying to avoid a situation where I'm running out of ram resulting in the server locking up (oom-killer).
To achieve this I'm trying to update my Amazon Linux AMI instance to limit the number of simultaneous connections.
I have Apache 2.4 and following this guide, added the following to my httpd.conf:
MaxRequestWorkers = 112
ServerLimit = 112
However this results in the following warning on httpd restart:
"MaxRequestWorkers takes one argument, Maximum number of children
alive at the same time"
apache-2.4
add a comment |
up vote
5
down vote
favorite
I'm trying to avoid a situation where I'm running out of ram resulting in the server locking up (oom-killer).
To achieve this I'm trying to update my Amazon Linux AMI instance to limit the number of simultaneous connections.
I have Apache 2.4 and following this guide, added the following to my httpd.conf:
MaxRequestWorkers = 112
ServerLimit = 112
However this results in the following warning on httpd restart:
"MaxRequestWorkers takes one argument, Maximum number of children
alive at the same time"
apache-2.4
1
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago
add a comment |
up vote
5
down vote
favorite
up vote
5
down vote
favorite
I'm trying to avoid a situation where I'm running out of ram resulting in the server locking up (oom-killer).
To achieve this I'm trying to update my Amazon Linux AMI instance to limit the number of simultaneous connections.
I have Apache 2.4 and following this guide, added the following to my httpd.conf:
MaxRequestWorkers = 112
ServerLimit = 112
However this results in the following warning on httpd restart:
"MaxRequestWorkers takes one argument, Maximum number of children
alive at the same time"
apache-2.4
I'm trying to avoid a situation where I'm running out of ram resulting in the server locking up (oom-killer).
To achieve this I'm trying to update my Amazon Linux AMI instance to limit the number of simultaneous connections.
I have Apache 2.4 and following this guide, added the following to my httpd.conf:
MaxRequestWorkers = 112
ServerLimit = 112
However this results in the following warning on httpd restart:
"MaxRequestWorkers takes one argument, Maximum number of children
alive at the same time"
apache-2.4
apache-2.4
asked 2 days ago
Dan382
1435
1435
1
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago
add a comment |
1
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago
1
1
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago
add a comment |
1 Answer
1
active
oldest
votes
up vote
15
down vote
The tutorial you followed has a pretty blatant error. Apache directives do not have an =
character between the directive name and value.
The directives should read:
MaxRequestWorkers 112
ServerLimit 112
Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
15
down vote
The tutorial you followed has a pretty blatant error. Apache directives do not have an =
character between the directive name and value.
The directives should read:
MaxRequestWorkers 112
ServerLimit 112
Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.
add a comment |
up vote
15
down vote
The tutorial you followed has a pretty blatant error. Apache directives do not have an =
character between the directive name and value.
The directives should read:
MaxRequestWorkers 112
ServerLimit 112
Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.
add a comment |
up vote
15
down vote
up vote
15
down vote
The tutorial you followed has a pretty blatant error. Apache directives do not have an =
character between the directive name and value.
The directives should read:
MaxRequestWorkers 112
ServerLimit 112
Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.
The tutorial you followed has a pretty blatant error. Apache directives do not have an =
character between the directive name and value.
The directives should read:
MaxRequestWorkers 112
ServerLimit 112
Keep in mind that this isn't likely to help all that much. The first thing you should do is switch to the event MPM (and php-fpm for PHP usage). If you are still using the 25 year old prefork MPM you are sacrificing a lot of performance and memory for little good reason. Just making this switch is likely to reduce your OOM issues while increasing performance dramatically.
answered 2 days ago
Michael Hampton♦
162k26299612
162k26299612
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f940882%2favoid-oom-killer-by-limiting-simultaneous-users%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
nginx use significantly less ram than apache, nginx can easily handle 5,000 connections with less ram than it takes apache to handle 10 connections >.> you could try switching to nginx and see if that helps. - help.dreamhost.com/hc/en-us/articles/…
– hanshenrik
2 days ago