1、查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):

  1. ps -ef | grep httpd | wc -l

返回结果示例:
  1388
  表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整

2、查看Apache的并发请求数及其TCP连接状态:

  1. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

返回结果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057
  其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。

3、网站访问太慢,可能性有哪些

  1. 一、网络问题
  2.   1、双线机房或分布式部署,动态DNS,需要考虑成本
  3.   2、客户端和机房所在网络情况
  4.  
  5. 二、前端问题
  6.   1、浏览器太烂
  7.   2、页面设计不佳(dom太多、js有问题等)
  8.  
  9. 三、服务端问题
  10.   1、负载,CPU, 网络,内存,磁盘空间等使用情况,日志切割。如果单台服务器性能受限,考虑调整为分布式架构,如nginx转发,DB分库分表等
  11.   2、用Xdebug,Webgrind等调试工具调试源码
  12. 检查webserver日志中的响应时间
  13. 如果服务器整体负载不高,但PHP的数据返回时间过长,在PHP代码中分段输出处理时间
  14. 如果是高访问量的在线调试,一般选取一定比例记录日志,防止日志过多带来的额外系统开销
  15. 调试指导思想:逐步缩小范围,定位、优化
  16. 平常开发原则:
  17. 编写代码注重效率,尽可能占用更少的资源
  18. 缓存复杂和耗时运算的结果
  19. apc或者xcache等缓存PHPopcode
  20. 能异步处理的任务不要马上处理,如发邮件
  21. 依据资源情况对FastCGI配置合适的参数
  22. 负载均衡器设好阀值,不要无限制的给后端压力
  23. 接口api设置过期时间,1秒内等
  24. 3、读取慢
  25. 检查:慢查询日志;
  26. show processlist 查看当前DB状态,看哪些请求停留较多
  27. top查看mysql进程的开销
  28. 代码中记录SQL和执行时间
  29. 解决:
  30. 手动执行可疑SQL(注意排除query cache的影响),用explainprofile等工具分析SQL性能
  31. 再考虑是否优化索引,或者分库分表,或者增加缓存
  32. 写入慢
  33. 检查:除读取慢的检查方法外,还有
  34. iostat 检查磁盘IO
  35. 查看mysql binlog的写入速率
  36. 解决:增加缓存,分库分表,优化索引,从业务逻辑上考虑减少DB操作,合并写入
  37.  
  38. 四、其他问题
  39. 1http请求过多
  40. 2Keep-Alive
  41. 3、图像过大,没有经过压缩

4、http的keep-alive

  https://www.cnblogs.com/freefish12/p/5394876.html

5、

  1. 文件如下:
  2. a,b,c,d,1,2,3
  3. e,f,g,h,2,3,4
  4. 1,2,3,4,3,4,4
  5. 4,5,5
  6. b,d,1,2,3
  7. ...
  8.  
  9. 计算倒数第三列的累加值:
  10.  
  11. awk -F ',' '{a+=$(NF-2)}END{print a}' 1.txt

6、nginx工作原理和优化

  http://blog.csdn.net/hguisu/article/details/8930668

随机推荐

  1. Swap file ".BranchModel.class.php.swp" already exists!

    在 Linux 下的 vim 编辑过程中,由于某种原因异常退出正在编辑的文件,再次编辑该文件时,会出现如下提示: 1.解决方法:直接 ll -a -a 列出目录下的所有文件,包括以 . 开头的隐含文件 ...

  2. Android Studio添加Activity时Resolved versions for app (21.0.3) and test app (25.4.0) differ.

    将以下代码添加到gradle(module) dependencise中 androidTestCompile 'com.android.support:support-annotations:xx. ...

  3. 【vue】使用vue构建多页面应用

    先了解一些单页面和多页面的区别 mm 多页应用模式MPA 单页应用模式SPA 应用构成 由多个完整页面构成 一个外壳页面和多个页面片段构成 跳转方式 页面之间的跳转是从一个页面跳转到另一个页面 页面片 ...

  4. 唯一索引的一种使用情景【有则U无则I】

    这个知识点是最近一位面试老师问我的,当时对这种方法不了解,所以只能说那个中效率低的方法了,也就是先进性select判断,然后在执行更新或者插入操作,显然这种是很麻烦的,也自我反思一下,确实有很多的知识 ...

  5. Android6.0 源码修改之屏蔽系统短信功能和来电功能

    一.屏蔽系统短信功能 1.屏蔽所有短信 android 4.2 短信发送流程分析可参考这篇 戳这 源码位置 vendor\mediatek\proprietary\packages\apps\Mms\ ...

  6. (网页)JavaScript周末总结(一)

    本周学习的内容总结: 1. 2章在html中使用javascript. 2. 3章Javascript的基本概念. 3. 4章变量,作用域,内存问题. 1-1:2章以下内容: 1.包含javascri ...

  7. 新的 Centos 服务器初始化配置

    当你初次创建新的 Centos 服务器的时候, Centos 默认的配置安全性和可用性上会存在一点缺陷(运维人员往往会有初始化的脚本).为了增强服务器的安全性和可用性,有些配置你应该尽快地完成. 这篇 ...

  8. 使用Visual Studio Team Services敏捷规划和项目组合管理(六)——VSTS仪表盘的使用

    使用Visual Studio Team Services敏捷规划和项目组合管理(六)--VSTS仪表盘的使用 仪表盘使团队能够看到项目的状态和监控项目的进展.简单来说,不必深入到团队项目站点的其他部 ...

  9. 基于cifar10实现卷积神经网络图像识别

    import tensorflow as tf import numpy as np import math import time import cifar10 import cifar10_inp ...

  10. Linux中对逻辑卷进行扩容与缩小

    一.在扩容之前,先查看自己逻辑卷,卷组,物理卷的信息:(在上一篇的基础上:Linux中对逻辑卷的建立) 查看物理卷: # pvdisplay /dev/sdc1 查看卷组: vgdisplay /de ...