【问题标题】:MySQL extremely slow under Snow Leopard雪豹下 MySQL 极慢
【发布时间】:2023-04-07 02:01:01
【问题描述】:

我已经使用 ARCHFLAGS="-arch x86_64" 在这些 instructions by Hivelogic 和 mysql (2.8.1) gem 之后安装了 MySQL 5.1.40 源代码分发(64 位可执行 x86_64)。

我将它用于 Ruby on Rails 开发,我的问题是即使 MySQL 以各种方式工作,它也非常慢。
在执行标准 rake db:migrate 创建大约 15 个表时,将其与 sqlite3 进行比较。

MySQL:

时间 rake db:migrate
真正的 0m4.882s
用户 0m1.426s
系统 0m0.235s

sqlite3:

时间 rake db:migrate
实际0m2.282s
用户 0m1.501s
系统 0m0.255s

还必须考虑到每个测试的大约 1.5 秒执行时间是加载 rails 框架,这意味着 sqlite3 执行 SQL 任务大约需要 0.5-1 秒,而 MySQL 需要超过 3 秒来执行同一组任务.

这不是完全错误的吗?这可能是什么原因?有人遇到同样的问题吗?

我已经多次安装并重新安装了 mysql 和 mysql/ruby gem,但结果总是相同... :(

我的 Snow Leopard 安装是升级而不是全新安装。这可能是问题的原因吗?一些过时的图书馆?

谢谢!

【问题讨论】:

    标签: mysql performance osx-snow-leopard


    【解决方案1】:

    从您问题中的数据来看,听起来您是在比较香蕉和橙子。

    具体来说,您是否有任何证据表明结果甚至不符合标准?与运行相同测试的其他平台进行比较?

    这甚至是与您最终想做的任何事情相关的测试吗? IE。您是在测试与您通常会执行的典型任务集相关的东西,还是尝试针对设置期间发生的一次性任务进行优化?

    还请注意,SQLite 和 MySQL 具有完全不同的性能配置文件。 SQLite 是一个单用户、非客户端/服务器的数据库,而 MySQL 通常配置为充当客户端/服务器角色。除了完全不同的性能配置文件之外,这还会导致完全不同的可扩展性特征。

    【讨论】:

    • 感谢您的回复 bbum!我与另一个平台的唯一比较是,我在 Leopard 下运行了相同的测试套件(使用上述 db:migrate),现在在 Snow Leopard 下运行速度明显较慢,在 Leopard 中执行时间大约需要 1 分钟,大约需要 3-4分钟在雪豹。我还注意到 mysql 似乎“窒息”,这在 Leopard 下没有发生。如果我尝试插入 200 条记录 - 前 30-40 条记录飞快(约 0.8 毫秒),但随后它会急剧减慢至每次插入约 200 毫秒,即使第一次插入和最后一次插入之间的复杂性是相同的。跨度>
    • OK-- 我建议在 Leopard 和 Snow Leopard 上使用 sample 来大致了解 CPU 周期的去向。这也可能是由于两个操作系统之间的磁盘同步更改。在任何情况下,通常都需要针对特定​​系统调整数据库。
    猜你喜欢
    • 2010-11-02
    • 2010-11-26
    • 1970-01-01
    • 2012-08-27
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    相关资源
    最近更新 更多