php include类文件超时问题处理

 更新时间:2015年02月06日 11:39:15   投稿:hebedich  
这篇文章主要介绍了php include类文件超时问题处理,需要的朋友可以参考下

最近发现,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

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

相关文章

  • Thinkphp多文件上传实现方法

    Thinkphp多文件上传实现方法

    这篇文章主要介绍了Thinkphp多文件上传实现方法,是非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • Laravel 4 初级教程之视图、命名空间、路由

    Laravel 4 初级教程之视图、命名空间、路由

    本文是Laravel 4初级教程的第二篇,学习进入深水区,我在本篇教程中将重点讲解视图常用规则,命名空间(重难点),和路由(难点)。
    2014-10-10
  • 完美的php分页类

    完美的php分页类

    这篇文章主要分享了一段完美的php分页类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • laravel migrate初学常见错误的解决方法

    laravel migrate初学常见错误的解决方法

    之前给大家介绍了关于laravel migrate入门的基础,下面这篇文章主要给大家介绍了关于laravel migrate初学时常见错误的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10
  • thinkphp自带验证码全面解析

    thinkphp自带验证码全面解析

    这篇文章主要介绍了thinkphp自带验证码的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • PHP_SELF,SCRIPT_NAME,REQUEST_URI区别

    PHP_SELF,SCRIPT_NAME,REQUEST_URI区别

    这篇文章主要介绍了PHP_SELF,SCRIPT_NAME,REQUEST_URI区别,需要的朋友可以参考下
    2014-12-12
  • 利用php_imagick实现复古效果的方法

    利用php_imagick实现复古效果的方法

    相信对于php_imagick很多人都不陌生,这篇文章先进行简单的介绍了php_imagick和简单的示例,而后通过示例代码介绍了利用php_imagick实现复古效果的方法,对大家的学习和工作具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。
    2016-10-10
  • php实现读取内存顺序号

    php实现读取内存顺序号

    这篇文章主要介绍了php实现读取内存顺序号,十分的简单实用,需要的朋友可以参考下
    2015-03-03
  • PHP使用PHPMailer发送邮件的简单使用方法

    PHP使用PHPMailer发送邮件的简单使用方法

    本文是PHP使用PHPMailer发送邮件的简单使用方法,提供自己写的代码
    2013-11-11
  • Yii查询生成器(Query Builder)用法实例教程

    Yii查询生成器(Query Builder)用法实例教程

    这篇文章主要介绍了Yii查询生成器(Query Builder)用法,包括了各种常见的查询操作,需要的朋友可以参考下
    2014-09-09

最新评论