热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Web服务器---Apache

1.apache的配置文件(路径可能不同,但文件名应该不会变):etchttpdconfhttpd.conf?2.可执行文件在:usrsbin3.apache服务启动的命令:servi

1. apache的配置文件(路径可能不同,但文件名应该不会变): /etc/httpd/conf/httpd.conf 

2. 可执行文件在:/usr/sbin

3. apache服务启动的命令:service httpd start  (status   stop    restart)

4. apache的调优:vi /etc/httpd/conf/httpd.conf


第一:工作模式的调优

    -------通过  httpd -l  可以查看当前模式

  • Prefork模式:使用多个子进程,每个子进程只有一个线程,效率高,每个请求相互独立,若一个请求出现问题不会影响到其他请求,但内存占用大

    Web服务器---Apache

     MaxClients:如果需要设置此参数,那么先设置ServerLimit,两者大小可以一样,但不能超过ServerLimit


  • Worker模式:使用多个子进程,每个子进程有多个线程,内存占用小,适合高流量的http服务器,但如果一个线程崩溃,整个进程就会一起死掉

    互联网企业一般高流量高并发,应该考虑使用这种模式,因为用的是多线程。至于缺点,可以使用负载均衡等技术手段,尽可能降低。

    Web服务器---Apache

    ThreadsPerChild:如果需要设置此参数,那么先设置ThreadLimit,两者大小可以一样,但不能超过ThreadLimit


第二:关键参数的调优

  • Timeout:指定apache的超时时间,单位秒,若超过该时间,apache放弃处理该请求,并释放连接,该参数默认值为120,推荐设置为60,对于访问量较大的网站可以设置为30或15

  • KeepAlive:在内存非常充足的服务器上,不管是否关闭此功能,服务器性能不会有明显变化;如果服务器内存较少,或者主要处理动态网页服务,关闭它可以节省很多内存;静态服务的处理建议打开

  • 过期时间:充分利用缓存(这里指的是客户端缓存,可以理解为浏览器的缓存)Expires头信息是客户端缓存的重要依据,如果当前时间小于Expires指定的时间,浏览器就会从缓存中直接获取相关的数据信息或HTML文件,反之,浏览器会向服务器发送请求来获取。

    去掉LoadModule expires_module modules/mod_expires.so前面的 # 

    Web服务器---Apache

    设置完成,保存,重启apache即可生效。

  • 开启gzip:压缩Internet传输的所有文本类资源,如html, css, js,比如利用QQ传送大文件的时候,压缩之后传送速度明显快于压缩之前

    去掉以下2个前面的 #

    LoadModule deflate_module modules/mod_deflate.so

    LoadModule headers_module modules/mod_headers.so

    压缩级别,不要设置太高,否则会占用太多cpu。

    Web服务器---Apache

    设置完成,保存,重启apache即可生效。

    如果想验证,可以通过Firebug或F12等工具,查看请求和响应,如果请求头内包含Accept-Encoding:gzip,deflate,sdch,则表示当前请求支持的压缩格式;如果响应头内包含Content-Encoding:gzip,则表示响应内容已经进行了gzip压缩

  • HostnameLookups:设置为off,尽量减少DNS查询的次数


5. apache从哪几方面进行调优

  • 硬件(比如根据工作模式占用内存大小)

  • 工作模式

  • 参数

  • 部署方式(比如,apache和tomcat负载均衡,或者apache搭配其他)



推荐阅读
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • C#多线程解决界面卡死问题的完美解决方案
    当界面需要在程序运行中不断更新数据时,使用多线程可以解决界面卡死的问题。一个主线程创建界面,使用一个子线程执行程序并更新主界面,可以避免卡死现象。本文分享了一个例子,供大家参考。 ... [详细]
author-avatar
恋若寒1999
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有