PHP file_put_contents 在 75 万行文本文件上的性能

2024-01-21

此 PHP 脚本将行添加到我的文本文件(日志)中:

file_put_contents($filename, $log .PHP_EOL, FILE_APPEND | LOCK_EX);

我将日志文件限制在 100Mb 以内,此后将创建一个新文件;因此我预计大约。每行 144 字节,每个文件约 750000 行。

我需要记录操作,并且需要快速记录它们。有谁知道如果file_put_contents这么大的文件性能会逐渐变慢吗?

也许它们的尺寸不大,但行数肯定很大。

- - 更新: - -

根据 Cully Larson 的建议,这里是 file_put_contents 将完全相同的 $string 写入纯文本文件所花费的时间的结果。我正在运行适用于 Windows 的 WAMP 服务器。

Line 000001 150bytes --> 0.00046801567077637 seconds
Line 000002 150bytes --> 0.00022101402282715 seconds
Line 000003 150bytes --> 0.00019407272338867 seconds
...
Line 000010 150bytes --> 0.00016212463378906 seconds
...
Line 000100 150bytes --> 0.00015997886657715 seconds
...
Line 001000 150bytes --> 0.00015687942504883 seconds
...
Line 010000 150bytes --> 0.00016403198242188 seconds
...
Line 100000 150bytes --> 0.00016617774963379 seconds
...
Line 250000 150bytes --> 0.0001678466796875 seconds
...
Line 500000 150bytes --> 0.00016283988952637 seconds
...
Line 750000 150bytes --> 0.00020289421081543 seconds

EOF!

希望这些信息对其他人也有帮助。


也许它们的尺寸并不大,但肯定是大的。线数

不要紧。您正在执行附加操作,而不是读写操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP file_put_contents 在 75 万行文本文件上的性能 的相关文章

  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • symfony2 选择单选框的默认值

    我的项目是使用 Silex 和 Symfony 组件 即表单组件 编写的 我尝试创建一组从类中构建的单选按钮 并且我想预先选择其中一个单选按钮 我创建这样的表格 form app form factory gt createBuilder
  • 当存在联系时如何为数组分配排名号

    当尝试为数组中存在平局的数值分配排名时 我很难知道从哪里开始 因此 例如 我需要像下面这样转换一个数组 myarray 4 76 34 13 34 到另一个数组中 例如 myarray2 1 5 3 5 2 3 5 基本上 当相同的数字在数
  • 如何通过键查找最大和最小日期

    我有一个数组 a array 2010 05 03 gt 100 2010 05 04 gt 400 2008 05 01 gt 800 2011 01 01 gt 800 我如何找到最大值和最小值key date 例如 max gt 20
  • 如何为 Lumen 的封闭路线指定路线名称?

    您好 我有以下流明路线 router gt get end function Illuminate Http Request request use router controller router gt app gt make App H
  • xdebug_start_trace 行为异常

    我正在尝试进一步减少脚本内存使用量 我试图让我的脚本使用 xdebug 生成输出来分析内存使用情况 这是一个基于 CLI 的脚本 有 shebang usr local bin php q 我向它传递一个参数并检查它 argc gt 1 i
  • PHP 警告 ZipArchive::extractTo():权限被拒绝

    我创建了一个应用程序 它使用 ZipArchive 类 php 中的标准 中的方法 extractTo 并在 Windows 7 上的本地主机 apache 服务器上对其进行了测试 没有任何问题 但是当我在一些unix生产服务器上尝试过它之
  • 如何从字符串中只获取数字? [复制]

    这个问题在这里已经有答案了 我有这样的字符串 第 001 课 完成 在这种情况下 我只想获取数字部分001 我试过这个 str the title preg match all d str matches number implode ma
  • 适用于 Windows 的 PHP 支持的 GUI 应用程序

    我知道 PHP 是一种解释性语言 对于基于 Web 的事物来说 不是为在实际操作系统上运行 GUI 应用程序而设计的 但是有没有办法呢 基本上 是否有一个框架 系统允许我创建 本机 基本上是二进制文件 exe 看起来像带有本机控件和所有内容
  • PHP 中的正则表达式:找到第一个匹配的字符串

    我想在非常长的文本中找到第一个匹配的字符串 我知道我可以使用 preg grep 并获取返回数组的第一个元素 但是 如果我只需要第一场比赛 或者我知道提前只有一场比赛 那么这样做效率不高 有什么建议吗 预匹配 http www php ne
  • 如何在javascript中使用自动递增id?

  • WooCommerce:用文本覆盖购物车价格

    我们有很多产品具有以下功能 No price 零价格 我们让它们可以通过内置挂钩购买 但购物车仍然将它们显示为具有0 price结账时 我们希望购物车和结帐摘要显示 特殊订单 或任何其他文本 但 WooCommerce 似乎使基于文本的价格
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • URL 重写帮助

    RewriteEngine on RewriteCond REQUEST URI index php RewriteRule index php q 1 L 这应该将任何 url 重写为 index php q url 并且它可以工作 反正
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • php,in_array,0值

    我试图理解in array下一个场景的行为 arr array 2 gt Bye 52 77 3 gt Hey var dump in array 0 arr 返回值in array 是布尔值true 正如你所看到的no值等于0 所以有人可
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • 无法在 Centos 上安装 php-mysqli 扩展

    我正在尝试将 mysqli 扩展安装到 php yum install php mysqli 我收到下一个错误 Transaction Check Error file usr share mysql charsets Index xml

随机推荐

  • 对于 Int32 来说值太大或太小 - Facebook 和 dotnetopenauth

    我正在尝试获取一个与 dotnetopenauth 和 facebook 一起使用的示例项目 我有这个代码 namespace OAuthClient using System using System Configuration usin
  • 使用聚合函数和 SELECT 进行更新

    我正在尝试编写一条 SQL 指令来更新与所有交货和订单总数相关的数据库库存产品数量 UPDATE tbl Product SET tbl Product Quantity Q Quantity FROM tbl Product INNER
  • CLR 内存不足异常

    我们遇到了很多内存不足的异常 但我们似乎无法诊断发生了什么 这似乎是一个在几分钟内内存使用量从 300 MB 飙升至超过 1 GB 的问题 现在这是一个IIS https en wikipedia org wiki Internet Inf
  • pandas agg 和 apply 函数有什么区别?

    我分不清熊猫之间的区别 aggregate and apply功能 以以下为例 我加载一个数据集 执行groupby 定义一个简单的函数 和任一用户 agg or apply 正如您所看到的 我的函数中的打印语句会产生相同的输出 使用后 a
  • 从C#中的角度计算圆圆周上的点?

    我想这是一个简单的问题 但我当前的代码得到了一些奇怪的结果 而且我没有数学背景来完全理解原因 我的目标很简单 如标题所示 我只想找到距中心点一定距离和角度的点 我当前的代码 Point centerPoint new Point 0 0 P
  • 将 MySQL 查询转换为 Codeigniter 语法

    我在将 MYSQL 查询转换为 CI 语法时遇到一些问题 这是我的 MySQL 语法 select a pbj name as NAMA PERUSAHAAN count a id pbj as JUMLAH PAKET group con
  • Clojure:懒惰魔法

    几乎 2 个相同的程序可以生成无限惰性的随机序列 第一个不会崩溃 第二次崩溃 出现 OutOfMemoryError 异常 为什么 Return infinite lazy sequence of random numbers defn i
  • 加盐你的密码:最佳实践? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我一直很好奇 对密码进行加盐以进行哈希处理时 前缀还是后缀哪个更好 为什么 或者只要你加盐就没关系吗 解释一下 我们现在 希望 都知道我们应该s
  • 在 IntelliJ Idea 中禁用代码折叠?

    如何在 IntelliJ idea 中禁用 或隐藏 这部分 Go to 文件 gt 设置 gt 编辑器 gt 常规 gt 代码折叠 Uncheck 显示代码折叠轮廓
  • 如何通过将所有选项放入 mongodb 的 Node.js 驱动程序的连接字符串中来连接 X509?

    我正在使用可用的密钥mongodb 文档 http mongodb github io node mongodb native 3 6 api MongoClient html使用带有 Node js 驱动程序的 X509 身份验证的自签名
  • 将 speedtest.net api 与 React Native 结合使用

    我正在创建一个 Android React Native 应用程序并尝试使用速度测试 net api https github com ddsol speedtest net获取移动设备的上传和下载速度 但是 当我尝试将库集成到 React
  • SQL Server 2008 中的检查约束

    拜托 我刚刚开始学习 SQL 并且陷入困境 我正在尝试为我的测试项目构建一个数据库 我创建了一些表 做了关系 定义了主键和外键 所有这些都在 SQL Server 2008 中通过可视化界面 表设计 编辑 没有声明编码 还没有到达那里 但我
  • 在 Sublime Text 中,如何查找和替换文件名

    在 Sublime Text 中有没有一种方法可以找到模式并将其替换为文件名 例如 我有一堆包含人物的文件名 我想用人来代替它 in SideBarEnhancements有一个选项Mass Rename Selection under F
  • Apache HTTP 连接与 Android 6.0 (Marshmallow)

    有没有办法将 Apache 库直接包含在 Gradle 中以使其与 Android 6 0 一起使用 我尝试包含这样的库 compile org apache httpcomponents httpcore 4 4 1 compile or
  • 代号一号如何运作?

    我正在寻找针对多个移动平台进行开发的替代方案 并发现代号一 http www codenameone com 使用 Java 作为通用语 而不是 HTML CSS JS 或脚本语言 我找不到的是它是如何工作的 它是否将 JVM 与 iOS
  • 使用 Google 跟踪代码管理器从 URL 中删除查询字符串

    我试图通过从 URL 中删除查询字符串来整理 Google Analytics 中的分析 但这分为三个要求 我想删除 GA 分析中显示的查询字符串 竞选 UTM 仍然需要发挥作用 阻止 UTM 中收集的任何 PII 攻击 GA 我发现了许多
  • 用于使用私有组件进行单元测试的 CocoaPods 项目结构

    我正在将 CocoaPods 用于具有以下结构的项目 Example Example PublicUmbrellaHeader h Example PrivateHeaderForComponent1 h Example PrivateHe
  • 使用 iText 自定义签名外观

    我正在尝试使用 iText sharp 版本 5 5 13 创建自定义数字签名 用户可以从一组四个位置 顶部 底部 左侧和右侧 设置图像位置 如下所示 Rigth Left Top Bottom 到目前为止 我尝试在签名的第 0 层上工作
  • Python 和 ctypes:如何正确地将“指针到指针”传递到 DLL 中?

    我有一个 DLL 它分配内存并返回它 DLL中的函数如下 void Foo unsigned char ppMem int pSize pSize 4 ppMem malloc pSize for int i 0 i lt pSize i
  • PHP file_put_contents 在 75 万行文本文件上的性能

    此 PHP 脚本将行添加到我的文本文件 日志 中 file put contents filename log PHP EOL FILE APPEND LOCK EX 我将日志文件限制在 100Mb 以内 此后将创建一个新文件 因此我预计大