PHPUnit 测试速度慢

2024-01-19

我正在运行 PHPUnit 来使用 CIUnit(两者之间的第三方接口)测试 CodeIgniter 应用程序。许多测试从空的 MySQL 数据库中选择数据,该数据库在 setUp() 中填充了 5-10 条记录。在 Windows 和 Web 服务器(Ubuntu 10.04/Apache 2.2/MySQL 5.1/PHP 5.3)上,105 个测试在 2-3 秒内运行,内存使用量约为 30mb。在我的本地(Ubuntu 12.04/Apache 2.2/MySQL 5.5/PHP 5.3)上,105 个测试以相同的内存使用情况运行,但大约需要 45 秒。

我已将缓慢的范围缩小到使用数据库的测试;是否有任何我可能遗漏的配置设置导致测试运行速度慢了 15 倍?如果没有,我最好的选择是尝试降级 MySQL,甚至是 Ubuntu(我已经尝试从 12.10 降级到 12.04)?

任何答案都非常感激。


您很可能会遇到由以下原因造成的性能影响barriers默认为 https://ext4.wiki.kernel.org/index.php/Ext4_Howto#Barriers_on_by_default在 ext4 文件系统中。在这里阅读更多内容:

这就是他们所做的从文档 https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/ext4.rst:

屏障=
jbd 代码。 Barrier=0 禁用,Barrier=1 启用。这也是 需要一个可以支持屏障的 IO 堆栈,并且如果 jbd 获得 屏障写入时出错,它将再次禁用并发出警告。写 障碍强制执行日志提交的正确磁盘排序,使得 易失性磁盘写入缓存可以安全使用,但会带来一些性能损失。 如果您的磁盘以一种或另一种方式由电池供电,请禁用 障碍可以安全地提高绩效。

您可以尝试在没有它们的情况下重新挂载文件系统,如下所示(使用 mysql 数据文件所在的挂载点)

mount -o remount,nobarrier /

在我的环境中,这使得Tests: 83, Assertions: 194套件的运行时间从 48 秒减少到 6 秒。

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

PHPUnit 测试速度慢 的相关文章

  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 如何隐藏 URL 中的锚标记

    如何隐藏地址栏中以下链接 href 的哈希值 a href index php dev name 所以它会将我重定向到index php dev name 但我希望地址栏只显示index php 您可以使用 Javascript oncli
  • PHP 无法加载动态库“php_pdo_oci.dll”

    我在 Windows 8 上运行 Apache 2 4 7 和 PHP 5 5 9 我安装了 PHPUnit 并开始弹出此警告图像 警告 是的 我在 php ini 中启用了扩展加载以及 extension dir 以更正文件夹 并且该文件
  • 使用 PHP Selenium Webdriver 单击下拉菜单中的选项?

    我正在使用 PHP Selenium Webdriver 包装器Facebook https github com facebook php webdriver 任何人都可以给我一个如何单击或从选择下拉菜单中选择选项的示例吗 我已经尝试过这
  • 从类似 cronjob 的语法创建“下次运行时间”日期

    在我正在创建的应用程序中 用户可以安排重复任务 生成间隔模式的简单值是 Minute 0 59 90 each minute Hour 0 23 90 each hour Day of month 1 31 90 each day of m
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • PHP递归遍历对象树[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • 旋转并重命名 Pandas 数据框

    我有一个格式为的数据框 Date Datediff Cumulative sum 01 January 2019 1 5 02 January 2019 1 7 02 January 2019 2 15 01 January 2019 2
  • less 循环中的空间

    我有这个 loop index when index lt to page index nav ul li nth child index background fff loop index 1 似乎有问题 因为我的 css 输出是 ul
  • Keras 加载彩色图像

    我有 3 个带有彩色图像的文件夹 文件夹的名称是里面图像的标签 cls1 img 0 png img n png cls2 img 0 png img n png cls3 img 0 png img n png 我想使用 Keras 库创
  • 以编程方式发送短信未存储在发件箱中?

    我正在以编程方式制作一个项目短信 我使用此代码发送短信 SmsManager sms SmsManager getDefault sms sendTextMessage phoneNumber null message sentPI del
  • 为什么使用“envsubst file”重写文件会将其留空? [复制]

    这个问题在这里已经有答案了 我需要将一些环境变量值放入文件中 cat file VAR echo VAR text 当我做envsubst VAR VAR lt file gt file文件变空 为了解决这个问题我使用envsubst VA
  • SIGPIPE,简单 OpenSSL Web 服务器中的破损管道

    我正在尝试编写一个使用 OpenSSL 的简单 Web 服务器 我不断收到 管道损坏 错误 即使当我处理错误时 套接字似乎也永远不会打开以进行写入 我究竟做错了什么 这是我的代码 I created tempory certificates
  • postgres pgadmin 工具中的 TX 和 XID 分数代表什么

    XID 和 TX 列中的分数代表什么 这是 postgres 的 pgadmin 工具的屏幕截图 我知道 TX 和 XID 分别表示交易和交易 ID 但是我不明白分数表示法的含义 虚拟事务 ID 的格式为 n nnnn 真正的 XID 只是
  • CodeIgniter activerecord,检索最后插入的ID?

    CodeIgniter 中是否有任何选项可以获取新记录的最后插入 ID last id this gt db gt insert tablename array firstcolumn gt value secondcolumn gt va
  • 当多次旋转应用到元素时,计算元素角度的最佳方法是什么

    如果你执行旋转X 180deg 旋转Y 180deg 它现在是颠倒的 因此 如果鼠标设置为在拖动时向上移动子元素 则该子元素现在将向下移动 取决于您的设置方式 webkit transform rotateX deg rotateY deg
  • “rhc 墨盒”未显示使用 oo-admin-cartridge 添加的墨盒

    我使用 oo admin cartridge a install s path to cartridge 安装了墨盒 它显示在 oo admin cartridge a list 中 但不会显示在 rhc Cartridge 中 这是 Or
  • 如何使用退出代码退出程序:C#

    如何在 C 中使用退出代码退出程序 在java中它会是System exit int code http download oracle com javase 1 4 2 docs api java lang System html exi
  • Google 天气 API 403 错误 [重复]

    这个问题在这里已经有答案了 我决定从 Google 的天气 API 中提取信息 我在下面使用的代码运行良好 XmlDocument widge new XmlDocument widge Load https www google com
  • 乘以 100 后的值错误[重复]

    这个问题在这里已经有答案了 当该值 1212 3456789123 乘以 100 时 jQuery 显示 12 123456789123003 而不是 12 123456789123 Code p class price 12 123456
  • 使用多个不同的 group_by 变量 (dplyr) 来总结数据帧

    我有一个数据框 my data 其中包含 6 列 group1 members group2 members group3 members price price 2 price 3 1 1 1 800 877 334 1 2 1 850
  • 角度模块中的多个配置块

    我需要在加载之前解决应用程序中的一些依赖项 为我的服务获取数据等 我想将它们分开 以便我为主应用程序拥有一个配置块 然后为应用程序的其他部分拥有一个或多个配置块 最终 我希望它能够解决主应用程序的依赖关系 加载与之关联的组件 然后解决其余部
  • 使用动态内容调整 fancybox 的大小

    我正在使用 fancybox 当盒子加载时 我需要将一些项目插入盒子内的无序列表 ul 中 问题是 当我插入项目时 内容比框本身大 因此我需要在内容更新后调整框的大小 我无法让它与 fancybox resize 一起使用 添加新内容后如何
  • 在 virtualenv 中编译 mod_wsgi 时出现问题

    我正在尝试在 CentOS 服务器上编译 mod wsgi 版本 3 3 Python 2 6 但在virtualenv 没有成功 我收到错误 usr bin ld home python26 lib libpython2 6 a node
  • Java 图像未显示?

    尝试显示我的徽标时遇到问题 图片保存在与main java同一个文件夹中 ImageIcon im new ImageIcon banner png JLabel bam new JLabel im grid add bam 我的语法有问题
  • 选择所有列,但用 Google BigQuery 中的表达式替换一些列?

    如同在 Google BigQuery 中选择除某些列之外的所有列 https stackoverflow com questions 34056485 select all columns except some in google bi
  • PHPUnit 测试速度慢

    我正在运行 PHPUnit 来使用 CIUnit 两者之间的第三方接口 测试 CodeIgniter 应用程序 许多测试从空的 MySQL 数据库中选择数据 该数据库在 setUp 中填充了 5 10 条记录 在 Windows 和 Web