php include类文件超时问题处理


Posted in PHP onFebruary 06, 2015

最近发现,php运行自动加载类函数时总是超时,跟踪php慢查询日志,发现程序卡在了include某个类文件时竟然超时。

    初步定位是io响应超时,硬盘读取有问题。

    通过几个命令来定位:

    iostat -d -x -k 1 10 // 运行10次查看iostat中wait参数很大,一般不超过5ms,await  svctm这2个参数越接近,io性能越好。

    参考别的博客,

await:  每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
         这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。svctm    表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,         系统上运行的应用程序将变慢。

    sudo iotop -o , // 查看在划硬盘的程序,查看进程io占用比例

    sudo perf top // 查看进程io占用比例

    sudo hdparm -t /dev/**** 查看磁盘读取效率

    显示: Timing buffered disk reads:   10 MB in  3.14 seconds =   3.18 MB/sec

    查看非中断睡眠

    while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done

通过上述命令跟踪后,硬盘读取效率很低,进一步原因,还不得而知,猜想可能是硬盘有坏道。

PHP 相关文章推荐
php下获取客户端ip地址的函数
Mar 15 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
PHP易混淆函数的区别及用法汇总
Nov 22 PHP
php去掉文件前几行的方法
Jul 29 PHP
php实现简易聊天室应用代码
Sep 23 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
PHP的cURL库简介及使用示例
Feb 06 #PHP
PHP实用函数分享之去除多余的0
Feb 06 #PHP
php定时执行任务设置详解
Feb 06 #PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 #PHP
WordPress中is_singular()函数简介
Feb 05 #PHP
php简单实现MVC
Feb 05 #PHP
php中curl使用指南
Feb 05 #PHP
You might like
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
js实现addClass,removeClass,hasClass的函数代码
2011/07/13 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
python将图片转base64,实现前端显示
2020/01/09 Python
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
销售个人求职信范文
2014/04/28 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
面试通知单大全
2015/04/20 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python