一台服务器之前装的是java的tomcat apache 项目,

后面装了个phpstudy 在上面,访问php项目发现 浏览器首次打开网页需要7-8秒,打开成功后连续访问都很快,过一段时间访问又是7-8秒才打开网页,周而复始

解决方案是修改apache 配置,和修复服务器dns 为 114.114.114.114

解决办法如下,

Apache的线程数控制文件为http-mpm.conf,在conf/exrtra目录下面(我的文件目录为D:\wamp\bin\apache\Apache2.4.4\conf\extra),要使该配置文件起作用需要在httpd.conf 中将 Include conf/extra/httpd-mpm.conf前#去掉,以使得http-mpm.conf生效。

在Windows系统中,起作用的是Winnt mpm段,搜索 mpm_winnt_module

ThreadStackSize        8388608

ThreadsPerChild        150

MaxConnectionsPerChild   0

修改成

ThreadStackSize 838860

ThreadsPerChild 450

MaxConnectionsPerChild 3000

重启服务器即可测试!

特别说明:项目中如果使用了localhost 的请记得换成127.0.0.1

而且应该同时修改httpd-default.conf超时设置来配合。

在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#使httpd-default.conf生效。

其中调节以下参数

Timeout 15 (连接超时缺省为300,太大了,缩小会减少同时连接数,即上面占用的实际线程数)

KeepAlive On (开启可以提高性能,因为一个页面一般会有多个请求)

MaxKeepAliveRequests 50 (这个数目自己根据网页内容调节)

KeepAliveTimeout 5 (这个小于Timeout就行)

最后重启apache 即可。

ThreadStackSize指令用来处理客户端连接的线程使用的栈尺寸(字节)。其语法格式为:ThreadStackSize size,在NetWare系统中默认值为65 536;其他系统中等于操作系统默认值。

ThreadStackSize指令设置了处理客户端连接(包括调用模块以协助处理)的线程允许使用的最大栈尺寸(字节)。在大多数情况下,操作系统默认的栈尺寸很合理,但是在某些情况下,需要调整这个值。如,在默认栈尺寸较小的平台上(比如HP-UX),Apache可能会在使用一些需要较大栈尺寸的第三方模块时崩溃。这样的问题可以通过将ThreadStackSize设置为一个较大的值来解决。这种调整应当仅仅在第三方模块提供者明确要求的情况下才需要,或者是通过诊断确定是由于栈空间太小而导致崩溃。

而在某些平台上,如果默认的栈空间大于服务器运行所需空间,那么将ThreadStackSize值降低到小于操作系统默认值可以让每个进程中允许生成的最大线程数量增加。这种类型的调整应该仅在测试环境中使用,并且对所有服务器进程进行充分的测试,因为处理某些罕见的请求需要较大的栈空间。一个很小的服务器配置变化就有可能使得当前的ThreadStackSize设置变得不合适。

ThreadsPerChlid是Apache进程的子线程数,这个指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了。如果使用一个类似于mpm_winnt只有一个子进程的mpM,这个数值要足够大,以便可以处理可能的请求高峰。如果使用一个类似于worker有多个子进程的mpM,每个子进程所拥有的所有线程的总数要足够大,以便可以处理可能的请求高峰。

该参数需要根据 apache-status实时的监控情况来调节,太大会导致内存增长过快,直到服务器当机,太小会导致服务器连接队列在高峰期时占满,从而导致网站连接 慢。同时我们应该修改另一个配置文件httpd-default.php中的超时设置来配合这个参数。

对于mpm_winnt,ThreadsPerChild的默认值是64;对于其他mpM是25。

MaxRequestsPerChild是进程的最大的请求数目,既指网站收到请求的缓存数。设置太小了会影响服务器性能,因为会占用较多cpu时间,太大了则会占用内存资源。一般大型的网站文件个数都是成千上万,所以管理员应该根据网站情况自己设定。

MaxRequestsPerChild指令设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为"0",子进程将永远不会结束。

在mpm_netware和mpm_winnt上的默认值是"0"。

将MaxRequestsPerChild设置成非零值有两个好处:

a)可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。

b)给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。

注意:对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。

==================================================================END==============================================================================

php apache很慢,Apache 服务器 首次访问特别慢的解决过程,php环境相关推荐

  1. 网页java挂挖矿_记一次服务器被植入挖矿脚本的解决过程

    记一次服务器被植入挖矿脚本的解决过程 删除挖矿脚本和对应的进程 找出并删除对应挖矿脚本文件 找出进程pid,并且kill掉 无法kill掉的是原进程的守护进程,原进程不在它也会自动关闭,所以不用管它 ...

  2. vb.net服务器启动后cpu占用了70_记一次服务器被异常程序占用的解决过程(怀疑黑客攻击)...

    最近在跑实验,但是突然发现程序运行变慢,然后top命令查看程序运行情况,发现有异常进程,名字叫 bash,占用 2400% CPU计算资源. 刚开始怀疑是挖矿程序,因实验室网络IP为教育网公网,怀疑被 ...

  3. 记一次服务器被挖矿程序占用的解决过程

    公司有台做voip的服务器最近CPU总是跑满,这机器自从交给厂家搭好环境后基本就没怎么管它,于是进去查看进程,top了下(见下图) 这个叫wnTKYg的进程很诡异,已经把CPU吃光了,上网一查,原来是 ...

  4. word打开文档很久很慢_word文档打开特别慢怎么解决,word10打开文档很慢

    据用户反馈在Win10系统下,打开任何Word文档,不管大小都是非常慢,简直不能忍受,不管重装Office还是什么的都无效,下面小编写下解决历程,希望对大家能有所启发. 解决步骤如下: 1.尝试在wi ...

  5. linux下打印pdf文件很慢,打印机打印pdf文件特别慢怎么解决

    [转载]Solr4+IKAnalyzer的安装配置 转载:http://www.cnblogs.com/madyina/p/4131751.html 一.下载Solr4.10.2 我们以Windows ...

  6. vue打包后不使用服务器直接访问方法

    根据官网打包执行npm run build 后dist文件夹打开的index.html 是空白 需要开启http服务器才能访问,以下是解决办法 1.找到config文件夹下的index文件 修改成 2 ...

  7. ngnix、lighttpd、apache三大主流web服务器的区别

    (1). lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多OpenSource轻量级的web server中较为优秀的 ...

  8. 快速架设apache/vsftpd/samba/sendmail服务器

    1 序言 2 参考文档 3 动态域名实现 4 apache 5 vsftpd 6 samba 7 sendmail 8 附录 a) httpd.conf的详细设定 b) vsftpd.conf的详细设 ...

  9. 【树莓派】搭建LAMP(Linux Apache Mysql PHP)服务器

    基于树莓派搭建LAMP(Linux Apache Mysql PHP)服务器 配置树莓派 树莓派 连接WIFI 配置SSH 连接SSH 修改密码并解锁root用户 固定IP 调整服务器性能 Apach ...

最新文章

  1. 一种不会导致资源泄露的“终止”线程的方法
  2. SpringBoot整合RabbitMQ-整合演示
  3. SQL 批量插入有标识列的数据
  4. Python-strace命令追踪ssh操作
  5. 低功耗传输与智能硬件技术为物联网应用构建基础
  6. ★☆★书已到手《Java程序员,上班那点事儿》正式上架★☆★
  7. 【C++】在线IDE
  8. 这个世界上人真的分三六九等,你信吗?
  9. Charles 模拟慢网络
  10. _corrupted_rollback_segments参数解决UNDO表空间损坏无法启动数据库的故障
  11. 如果本地连接受限或无连接的解决方法
  12. 绩效考核方法有哪些?这四种你知道几个?
  13. 面试大厂,你需要掌握这些面试技巧
  14. c语言头文件有哪些intr,有没有大神帮帮忙
  15. 程序员七夕表白攻略:原来数学才是世界上最浪漫的学科!
  16. python中如何把xlsx、xls文件转换为txt文件?安排
  17. node.js代码总结
  18. category ue 协议_LTE中UE能力(UE Capability)的梳理和解析
  19. IE浏览器登录Tomcat报错
  20. 软件测试的方法和步骤

热门文章

  1. 【codevs1935】【BZOJ2879】美食节,网络流之动态加点
  2. 【练习手记】【多题合集】用树状数组做线段树练习1、2、3
  3. 巴塞尔问题欧拉解法逐步推导与分析
  4. sqlite 模糊匹配日期_SQLite模糊查找(like) | 学步园
  5. UDK控制台命令概览
  6. JDBC、ODBC、OLE DB、ADO、ADOMD区别与联系
  7. NO4 findmv--特殊符号..和.
  8. 使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架...
  9. SSD 因 NCQ hang,failed command: WRITE FPDMA QUEUED / tag 28 ncq 4096 out
  10. citrix+netscaler配置第一次培训