实时警报通知:微信告警通知的重要性解析
776
2023-03-13
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>
配置硬盘缓存和内存缓存的缓存配置
文件缓存的应用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 模块,有多个文件可以用空格格开,具体如下:
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
发表评论
暂时没有评论,来抢沙发吧~