我很新configurationApache。 有大量的教程,但很less全面的如何做一些事情。
我想知道的是:
我使用的服务器是:XEON E3-1230(4 x 3.2 GHz)和16 GB DDR3 EEC。 我希望进一步的描述是无关紧要的。
这是我在/etc/apache2/apache2.conf
# prefork MPM <IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # worker MPM <IfModule mpm_worker_module> StartServers 2 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxClients 150 MaxRequestsPerChild 0 </IfModule> # event MPM <IfModule mpm_event_module> StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
Apache模块:
# apache2ctl -l Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c
其他:
Server version: Apache/2.2.16 (Debian) # apache2ctl -V Server version: Apache/2.2.16 (Debian) Server built: Mar 3 2013 12:09:44 Server's Module Magic Number: 20051115:24 Server loaded: APR 1.4.2, APR-Util 1.3.9 Compiled using: APR 1.4.2, APR-Util 1.3.9 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/apache2" -D SUEXEC_BIN="/usr/lib/apache2/suexec" -D DEFAULT_PIDLOG="/var/run/apache2.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="mime.types" -D SERVER_CONFIG_FILE="apache2.conf"
MPM在编译时被configuration到你的apache服务器上。 所以要使用不同的MPM,你必须重新编译apache,或者安装一个不同的预编译二进制文件(如果它可用于你的操作系统)。 但是,对于大多数目的来说, prefork MPM就好了,特别是如果你要运行PHP。 PHP不被认为是线程安全的,所以你不应该使用worker , event是实验性的…
因此,请保持prefork ,与您相关的唯一参数是<IfModule mpm_prefork_module>部分中的参数。 对你来说最好的价值主要取决于你期望的并发用户数量,以及如何变化。 我将开始只保留参数,如果真的遇到性能问题,只能开始性能调优。 使用状态页面来查看有多less客户端通常连接到您的服务器。 如果您最终提供服务超过150个并发用户增加MaxClients。