No.3
1、查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
ps -ef | grep httpd | wc -l
返回结果示例:
1388
表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整
2、查看Apache的并发请求数及其TCP连接状态:
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、双线机房或分布式部署,动态DNS,需要考虑成本
2、客户端和机房所在网络情况 二、前端问题
1、浏览器太烂
2、页面设计不佳(dom太多、js有问题等) 三、服务端问题
1、负载,CPU, 网络,内存,磁盘空间等使用情况,日志切割。如果单台服务器性能受限,考虑调整为分布式架构,如nginx转发,DB分库分表等
2、用Xdebug,Webgrind等调试工具调试源码
检查webserver日志中的响应时间
如果服务器整体负载不高,但PHP的数据返回时间过长,在PHP代码中分段输出处理时间
如果是高访问量的在线调试,一般选取一定比例记录日志,防止日志过多带来的额外系统开销
调试指导思想:逐步缩小范围,定位、优化
平常开发原则:
编写代码注重效率,尽可能占用更少的资源
缓存复杂和耗时运算的结果
用apc或者xcache等缓存PHP的opcode
能异步处理的任务不要马上处理,如发邮件
依据资源情况对FastCGI配置合适的参数
负载均衡器设好阀值,不要无限制的给后端压力
接口api设置过期时间,1秒内等
3、读取慢
检查:慢查询日志;
show processlist 查看当前DB状态,看哪些请求停留较多
top查看mysql进程的开销
代码中记录SQL和执行时间
解决:
手动执行可疑SQL(注意排除query cache的影响),用explain,profile等工具分析SQL性能
再考虑是否优化索引,或者分库分表,或者增加缓存
写入慢
检查:除读取慢的检查方法外,还有
iostat 检查磁盘IO
查看mysql binlog的写入速率
解决:增加缓存,分库分表,优化索引,从业务逻辑上考虑减少DB操作,合并写入 四、其他问题
1、http请求过多
2、Keep-Alive
3、图像过大,没有经过压缩
4、http的keep-alive
https://www.cnblogs.com/freefish12/p/5394876.html
5、
文件如下:
a,b,c,d,1,2,3
e,f,g,h,2,3,4
1,2,3,4,3,4,4
4,5,5
b,d,1,2,3
... 计算倒数第三列的累加值: awk -F ',' '{a+=$(NF-2)}END{print a}' 1.txt
6、nginx工作原理和优化
http://blog.csdn.net/hguisu/article/details/8930668
随机推荐
- H5_canvas与svg
Canvas 什么是canvas: HTML5 的 canvas 元素是使用 JavaScript 在网页上绘制图像,canvas 元素本身是没有绘图能力的,所有的绘制工作必须在 JavaScript ...
- 6;XHTML 超链接
1.超链接的基本格式 2.超链接的种类 3.相对链接和绝对链接 4.书签的链接 5.基准参考点 6.超链接事件 7.为链接创建键盘快捷键 8.为链接设置制表符次序 超链接也叫 URL 中文翻译为资源定 ...
- VS2013 添加控制台程序
一.打开vs2013
- sass安装和语法
1.简介 sass 它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件.这被叫做“css预处理器”(css preprocessor).它提供了很便利的语法,节省了我 ...
- BZOJ2783: [JLOI2012]树(树上前缀和+set)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1215 Solved: 768[Submit][Status][Discuss] Descriptio ...
- 51nod1238 最小公倍数之和 V3(莫比乌斯反演)
题意 题目链接 Sol 不想打公式了,最后就是求一个 \(\sum_{i=1}^n ig(\frac{N}{i})\) \(g(i) = \sum_{i=1}^n \phi(i) i^2\) 拉个\( ...
- html之input标签(11)
1.输入框 type=“text” 就是一个简单的输入框 <body> <input type="text"> </body> 2.密码输入框 ...
- maven 继承
一个 maven 项目可以继承另一个 maven 的依赖, 称为子项目 父项目 使用场景: 多个子项目都需要某些依赖, 就可以把子项目共同的依赖抽取到父项目中, 子项目通过继承得到这些依赖, 这样也更 ...
- odoo:开源 ERP/CRM 入门与实践
看了这张图,或许你对odoo有了一些兴趣. 这次就是和大家一起交流开源ERP/CRM系统:odoo 对以下读者有帮助:研发.产品.项目.市场.服务.运营.管理等. 一.背景趋势 社交网络.电商O2O: ...
- 让bind函数支持IE8浏览器的方法
bind函数在IE8下是不支持的,只需要在你的js文件中加入如下代码就可以支持IE8 //让bind函数支持IE8 if (!Function.prototype.bind) { Function.p ...