记录日志可能消耗大量的IO

【Q】

每次写入都是一个IO操作 即使是同一个文件 两次写入也要打开两次IO操作

【F】

设想有这样一个扩展  把php中要记录的日志 用文件名 和 内容的方式记录在内存中 然后这一个php进程结束时候 统一把内存中存储的日志写入日志文件

假如 一次php运行 对a.file 写入3次 b.file 写入2次 c.file 写入一次

普通的写入方式 总共进行 6次IO操作

采用设想的方法 3次IO操作

【Q】

这种方式只会影响 多次写入统一文件的IO操作 如果日志只会对每个文件写入一次 不会减少IO操作

【F】

但如果再假设 先把文件名 和 日志内容 都先记录到同一个文件的话 然后在空闲时候再利用程序分割(或者就直接存储在这个文件用)这样就能保证一次php运行只进行一次日志的IO操作

这段时间只进行了一次IO操作 可以减少大量IO操作

如果后期想再分割这个文件的话 可以在服务器空闲时期分割  至少能均衡服务器的负担

PHP扩展wlog  github地址  https://github.com/china8036/wlog

转载于:https://www.cnblogs.com/china8036/p/4673993.html

关于日志造成的频繁的IO相关推荐

  1. oracle 日志切换太频繁,诊断一次Oracle日志切换频繁的问题

    日志切换,就是生成的日志太大,数据块的变化太频繁. Snap Id Snap Time Sessions Cursors/Session Begin Snap: 14560 09-Dec-15 04: ...

  2. HA historyserver错误日志java.lang.RuntimeException: java.io.IOException: Couldn‘t create proxy provid nu

    错误日志 2021-11-04 21:27:35,794 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hado ...

  3. message/maillog日志提示磁盘innode、io错误等,扫描磁盘很多坏道

    1./var/log/messages报错. [root@localhost ~]# tail -f /var/log/messages | grep error Aug 6 16:03:25 loc ...

  4. oracle 日志切换太频繁,关于oracle日志切换的问题

    大家好,我装了 一个测试的RAC,我的数据库是没有任何业务在跑,只是数据库在open状态下.不过,我发现我的数据库为什么还会不定期的切日志呢. 以下是我的数据库切日志的频率,其实我的想法是我的数据库没 ...

  5. 网站日志百度蜘蛛频繁抓取后台的不存在的phh/asp/jsp地址的解决方案

    百度蜘蛛频繁抓取后台的不存在的phh/asp/jsp地址的解决方案? 其实这个问题困扰我已经很久了,每天百度蜘蛛都在访问后台的一些不存在hh/asp/jsp等路径从而返回404,等于每天都告知百度,我 ...

  6. 高性能日志:如何提升日志性能避免 IO 瓶颈?

    是当系统处理大量磁盘 IO 操作的时候,由于 CPU 和内存的速度远高于磁盘,可能导致 CPU 耗费太多时间等待磁盘返回处理的结果.对于这部分 CPU 在 IO 上的开销,我们称为 "iow ...

  7. 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx...

    为什么80%的码农都做不了架构师?>>>    通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx 脚本如下: ...

  8. etcd 日志压缩_etcd集群备份和数据恢复以及优化运维

    数据备份 快照定期备份 crontab定期执行备份脚本,每半小时备份一次,本地.异地都备份(暂定:本地备份保留最近10个备份,异地保留一个月的备份)#!/bin/bash # ETCDCTL_PATH ...

  9. ORACLE告警日志文件

    告警日志介绍 告警日志文件是一类特殊的跟踪文件(trace file).告警日志文件命名一般为alert_<SID>.log,其中SID为ORACLE数据库实例名称.数据库告警日志是按时间 ...

最新文章

  1. 【优秀作业】粒子群算法(Python)
  2. python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
  3. 选择排序——一般选择排序,堆排序
  4. 神经网络优化器的选择_神经网络:优化器选择的重要性
  5. KindEditor js 路径修改及表单提交注意事项
  6. windows下面怎么github ssh 公钥,然后克隆项目
  7. nginx反向代理配置 多个_实例分享:Nginx学习之反向代理WebSocket配置实例
  8. C++函数模板5分钟入门
  9. (01)odoo模型中调用窗体动作
  10. openstack排错
  11. Autodesk MapGuide Enterprise 2012开发技术入门培训视频录像下载
  12. 最新C语言编程软件推荐(2021整理)
  13. 华为重启交换机命令_华为交换机常用命令
  14. 开发Awesomes系列合集
  15. 致青春触动心灵的英语美文——小寓言大智慧
  16. 基于51单片机的自动浇花系统
  17. oracle高效设计阅读心得体会_Oracle高效设计_IT教程网
  18. FreeRTOSlwIP
  19. 人力资源2017年的八大趋势
  20. bga封装扇出过孔_pads router“BGA封装扇出”

热门文章

  1. Pytorch计算神经网络的参数量和浮点操作数
  2. 对象与JSON之间相互转换 jackson-databind-2.7.0
  3. 数据可视化之matplotlib实战:plt.pie()函数 绘制饼状图
  4. 【Azure Data Platform】数据平台的选择
  5. 分段管理机制(段描述符,描述符表,段选择符)
  6. 真正通俗易懂让你搞懂Javascript 执行机制
  7. 【算法】哈夫曼压缩算法-学习记录
  8. windows11删除微软账户,使用本地账户登录,解除绑定
  9. 独角兽项目 6 - 合并冲突
  10. 独角兽项目 5 - 两个披萨团队和技术债务