HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   HOWTO-Related Questions (http://www.howtoforge.com/forums/forumdisplay.php?f=2)
-   -   "The Perfect Server" - but why prefork for Apache? (http://www.howtoforge.com/forums/showthread.php?t=51574)

talkingnews 22nd February 2011 17:33

"The Perfect Server" - but why prefork for Apache?
 
I installed "The Perfect Server" on my 512Mb RAM Ubuntu 10.10 VPS following this excellent guide.

http://www.howtoforge.com/perfect-se...ispconfig-3-p4

But it says:

Quote:

aptitude install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils ...etc
And sure enough, if I run apache2 -l I get:

Code:

Compiled in modules:
  core.c
  mod_log_config.c
  mod_logio.c
  prefork.c
  http_core.c
  mod_so.c

I've had continuing memory and resource issues whatever I tweaked, and then I saw the following guide:

http://www.devside.net/articles/apac...ormance-tuning

Quote:

Chose the right MPM for the right job:

prefork [default MPM for Apache 2.0 and 1.3]:
Apache 1.3-based.
Multiple processes, 1 thread per process, processes handle requests.
Used for security and stability.
Has higher memory consumption and lower performance over the newer Apache 2.0-based threaded MPMs.

worker:
Apache 2.0-based.
Multiple processes, many threads per process, threads handle requests.
Used for lower memory consumption and higher performance.
Does not provide the same level of isolation request-to-request, as a process-based MPM does.
Excuse my newbie-ish questions, but after having had a good poke around, I'm still not sure if and how I can swap the running versions of Apache.

I just want to try running worker instead of prefork for a day or two to see how it goes. How can I achieve this? Thank you!

till 22nd February 2011 17:45

I guess the most likely reason for your problems is the very low RAM of your VPS and not the apache threading module. For a full featured server like it is sinstalled in the perfect setup guide, you should have at least 2 GB RAM.

talkingnews 22nd February 2011 17:53

Quote:

Originally Posted by till (Post 251906)
I guess the most likely reason for your problems is the very low RAM of your VPS and not the apache threading module. For a full featured server like it is sinstalled in the perfect setup guide, you should have at least 2 GB RAM.

Hmm, but this, I don't understand. All the mail features are turned off, and I saw this post:

Quote:

> I'm running Apache 2.2.9 on a machine with 4G of RAM, and the server
> experiences about 100,000 hits a day, ~1G bandwidth and about 30,000
> page requests.

That's about 100 times more memory than you should need for the load :)
So if he has 4G RAM and it's 100 times more than he needs, surely 512Mb RAM is enough for a simple, low-volume local town forum running on phpbb with a max of about 20 users online at any one time?

So are you saying that swapping to worker, which the other guide says uses less RAM, would not help me then?

till 22nd February 2011 18:07

Quote:

So if he has 4G RAM and it's 100 times more than he needs, surely 512Mb RAM is enough for a simple, low-volume local town forum running on phpbb with a max of about 20 users online at any one time?
Thats not the case. You can not simply break down the numbers mathematically on a request per megabyte ram basis as there is a minimum ram rquirement for apache to work properly and for the kernel to keep files cached instaed of loading them from disk for every request.

Quote:

So are you saying that swapping to worker, which the other guide says uses less RAM, would not help me then?
Yes, thats what I'am saying. Switching to worker might be on option for a server that runs a single website with mod_php and has high traffic or uses .html and not script files, as it helps apache to scale better under high load. But I dont expect that this will make much difference on a small setup like yours.

But feel free to try it. Just make sure that you backup your system in case that this breaks the setup as mpm-worker might cause issues with PHP. To install mpm-worker, use this command:

apt-get install apache2-mpm-worker

talkingnews 22nd February 2011 18:13

Quote:

Originally Posted by till (Post 251911)
But feel free to try it. Just make sure that you backup your system in case that this breaks the setup as mpm-worker might cause issues with PHP. To install mpm-worker, use this command:

apt-get install apache2-mpm-worker

OK, thanks and thumbs up for the good, clear explanation. I might have to "fork" out for more memory then, but with a VPS it can mount the costs up.

So let's say I double the ram to 1Gb, and I get another webmaster with a similar sized site to share the hosting costs (with him as a separate user/client etc in ISPconfig) am I just going to be back to square one?

In other words, if 512Mb is only just enough to run 1 small-ish site, if I double my costs and RAM and have two smallish sites and 1Gb RAM, am I shooting myself in the foot? Or does the overall memory usage not work like that?

till 23rd February 2011 15:04

Quote:

Or does the overall memory usage not work like that?
Yes, it does not work like that. As I explained above, you can not calculate the ram amount in that way.


All times are GMT +2. The time now is 02:21.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.