apache性能配置优化

网友投稿 776 2023-03-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

apache性能配置优化

最近在进行apache性能优化设置。在修改apache配置文件之前需要备份原有的配置文件夹conf,这是网站架设的好习惯。以下的apache配置调优均是在red had的环境下进行的。

查看Apache的并发请求数及其TCP连接状态[root@localhost ~]# netstat -n | awk '/^tcp/ { S[$NF]} END {for(a in S) print a, S[a]}'    ESTABLISHED----        CLOSED:无连接是活动的或正在进行-        LISTEN:服务器在等待进入呼叫-        SYN_RECV:一个连接请求已经到达,等待确认-        SYN_SENT:应用已经开始,打开一个连接-        ESTABLISHED:正常数据传输状态-        FIN_WAIT1:应用说它已经完成-        FIN_WAIT2:另一边已同意释放-        ITMED_WAIT:等待所有分组死掉-        CLOSING:两边同时尝试关闭-        TIME_WAIT:另一边已初始化一个释放-        LAST_ACK:等待所有分组死掉

查看Apache的并发请求数及其TCP连接状态[root@localhost ~]# netstat -n | awk '/^tcp/ { S[$NF]} END {for(a in S) print a, S[a]}' ESTABLISHED---- CLOSED:无连接是活动的或正在进行- LISTEN:服务器在等待进入呼叫- SYN_RECV:一个连接请求已经到达,等待确认- SYN_SENT:应用已经开始,打开一个连接- ESTABLISHED:正常数据传输状态- FIN_WAIT1:应用说它已经完成- FIN_WAIT2:另一边已同意释放- ITMED_WAIT:等待所有分组死掉- CLOSING:两边同时尝试关闭- TIME_WAIT:另一边已初始化一个释放- LAST_ACK:等待所有分组死掉

查看请求80服务的client ip按照连接数排序。[root@localhost ~]# netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

查看请求80服务的client ip按照连接数排序。[root@localhost ~]# netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

查看apache详细链接情况[root@localhost ~]# netstat -aptol

查看apache详细链接情况[root@localhost ~]# netstat -aptol

检测某一台服务器的端口是否开启状态[root@localhost ~]# nc -v -w 10 -z 172.20.206.147 25801

检测某一台服务器的端口是否开启状态[root@localhost ~]# nc -v -w 10 -z 172.20.206.147 25801

apache模块启用

apache2扩展配置文件说明

性能指标计算方法

提供下面这个公式,以供大家在平时或者日常需要进行的性能测试中作为一个参考。计算平均的并发用户数:C = nL/TC是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。并发用户数峰值:C’ ≈ C+3根号CC’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的loginsession产生符合泊松分布而估算得到的。

apache2自带的压力测试工具ab

Java的压力测试工具Jmeter

Jmeter 是apache开发的基于Java的压力测试工具。

apache多路处理器MPM

目前apache2.4版本已经event MPM纳入正式版,不再是实验状态。安装时,apache已经自动将event MPM一起安装进去,通过apachectl -l可以查看到event.c模块。由此可以看到,event MPM已经成为apache默认的MPM工作模式

计算event的相关参数

event MPM与worker MPM区别

可以支持比worker更高的并发数,主要安装在类unix/linux上的工作模式。event mpm是worker mpm的变种,但是具有比worker MPM更好的并发性能。在event mpm模式下,ssl是不被支持的,他会被切换到worker mpm下处理。event mpm在apache2.4版本时才被从实验状态转化成标准应用。

apache 缓存设置

apache涉及的缓存模块有mod_cache、mod_disk_cache、mod_file_cache、mod_mem_cache。如果要使用缓存必须启用这四个缓存模块。同时修改缓存设置后,必须重启apache,刷新缓存,否则用户访问页面不是最新页面。

mod_cache、mod_disk_cache、mod_mem_cache、mod_file_cache关系- apache缓存分为硬盘缓存和内存缓存- mod_disk_cache mod_mem_cache 都依赖于mod_cache- mod_file_cache是结合mod_cache使用,可以用于指定几个频繁访问,但是变化不大的文件

mod_cache、mod_disk_cache、mod_mem_cache、mod_file_cache关系- apache缓存分为硬盘缓存和内存缓存- mod_disk_cache mod_mem_cache 都依赖于mod_cache- mod_file_cache是结合mod_cache使用,可以用于指定几个频繁访问,但是变化不大的文件

配置硬盘缓存和内存缓存的缓存配置<IfModule mod_cache.c>     #设置缓存过期时间,默认一小时     CacheDefaultExpire 3600     #设置缓存最大失效时间,默认最大一天     CacheMaxExpire 86400 CacheLastModifiedFactor 0.1 CacheIgnoreHeaders Set-Cookie CacheIgnoreCacheControl Off <IfModule mod_disk_cache.c>     #启用缓存,并设定硬盘缓存目录(url路径)     CacheEnable disk /     #设定apache访问用户的缓存路径,需要进行授权配置,如linux设置为777     CacheRoot /home/apache/cache     #缓存目录深度     CacheDirLevels 5     #缓存目录名称字符串长度     CacheDirLength 5     #缓存文件最大值      CacheMaxFileSize 1048576     #缓存文件最小值      CacheMinFileSize 10 </IfModule> <IfModule mod_mem_cache.c>       #缓存路径     CacheEnable mem /       #缓存对象最大个数     MCacheMaxObjectCount 20000       #单个缓存对象最大大小     MCacheMaxObjectSize 1048576       #单个缓存对象最小大小      MCacheMinObjectSize 10       #在缓冲区最多能够放置多少的将要被缓存对象的尺寸     MCacheMaxStreamingBuffer 65536       #清除缓存所使用的算法,默认是 GDSF,还有一个是LRU     MCacheRemovalAlgorithm GDSF       #缓存数据最多能使用的内存     MCacheSize 131072 </IfModule> </IfModule>

配置硬盘缓存和内存缓存的缓存配置 #设置缓存过期时间,默认一小时 CacheDefaultExpire 3600 #设置缓存最大失效时间,默认最大一天 CacheMaxExpire 86400 CacheLastModifiedFactor 0.1 CacheIgnoreHeaders Set-Cookie CacheIgnoreCacheControl Off #启用缓存,并设定硬盘缓存目录(url路径) CacheEnable disk / #设定apache访问用户的缓存路径,需要进行授权配置,如linux设置为777 CacheRoot /home/apache/cache #缓存目录深度 CacheDirLevels 5 #缓存目录名称字符串长度 CacheDirLength 5 #缓存文件最大值 CacheMaxFileSize 1048576 #缓存文件最小值 CacheMinFileSize 10 #缓存路径 CacheEnable mem / #缓存对象最大个数 MCacheMaxObjectCount 20000 #单个缓存对象最大大小 MCacheMaxObjectSize 1048576 #单个缓存对象最小大小 MCacheMinObjectSize 10 #在缓冲区最多能够放置多少的将要被缓存对象的尺寸 MCacheMaxStreamingBuffer 65536 #清除缓存所使用的算法,默认是 GDSF,还有一个是LRU MCacheRemovalAlgorithm GDSF #缓存数据最多能使用的内存 MCacheSize 131072

文件缓存的应用1、缓存文件:如果你的网站有几个文件的访问非常频繁而又不经常变动,则可以在 Apache 启动的时候就把它们的内容缓存到内存中(当然要启用内存缓存系统),使用的是 mod_file_cache 模块,有多个文件可以用空格格开,具体如下:<IfModule mod_file_cache.c>       MMapFile /var/html/js/jquery.js  </IfModule>  2、缓存句柄:<IfModule mod_file_cache.c>    CacheFile /usr/local/apache2/htdocs/index.html  </IfModule>

文件缓存的应用1、缓存文件:如果你的网站有几个文件的访问非常频繁而又不经常变动,则可以在 Apache 启动的时候就把它们的内容缓存到内存中(当然要启用内存缓存系统),使用的是 mod_file_cache 模块,有多个文件可以用空格格开,具体如下: MMapFile /var/html/js/jquery.js 2、缓存句柄: CacheFile /usr/local/apache2/htdocs/index.html

apache压缩配置

apache通过mod_deflate模块实现页面压缩,要想进行页面压缩必须启用以下两个模块

LoadModule deflate_module modules/mod_deflate.so  LoadModule filter_module modules/mod_filter.so

LoadModule deflate_module modules/mod_deflate.so LoadModule filter_module modules/mod_filter.so

页面压缩模块配置

keepAlive

在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求。从而避免对于同一个客户端需要打开不同的连接。很多请求通过同一个 TCP连接来发送,可以节约网络和系统资源。

(1)keepAlive启用场景    如果有较多的js,css,图片访问,则需要开启长链接    如果内存较少,大量的动态页面请求,文件访问,则关闭长链接,节省内存,提高apache访问的稳定性    如果内存充足,cpu较好,服务器性能优越,则是否开启长链接对访问性能都不会产生影响

(1)keepAlive启用场景 如果有较多的js,css,图片访问,则需要开启长链接 如果内存较少,大量的动态页面请求,文件访问,则关闭长链接,节省内存,提高apache访问的稳定性 如果内存充足,cpu较好,服务器性能优越,则是否开启长链接对访问性能都不会产生影响

问题集锦

2、配置信息后面不能跟随注释,注释必须另起一行CacheDefaultExpire takes one argument, The default time in seconds to cache a document

上一篇:做智能化运维公司有哪些(智能运维解决方案)
下一篇:Cacti简单安装详细步骤
相关文章

 发表评论

暂时没有评论,来抢沙发吧~