首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何衡量数据库性能?

如何衡量数据库性能?
EN

Stack Overflow用户
提问于 2009-08-20 13:33:56
回答 3查看 7.9K关注 0票数 1

我正在开发一个web应用程序,它可以访问和处理MySQL数据库中的大量数据,就像字典/同义词库一样。随着数据库大小的增加,我需要测试它的性能,这样我才能知道每个请求在将来会有多慢。

有什么想法吗?例如,是否有特定的工具来检查特定查询的数据库性能等?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-20 13:42:08

您可以使用Maatkitquery profiler来衡量数据量对MySQL性能的影响。

generatedata.com来生成测试应用程序所需的数据。

您还可以使用HTTP测试工具测试应用程序的响应性,例如:

Apache的捆绑'ab‘工具(Apache Bench)

  • JMeter

  • Selenium

)

  • Apache
票数 3
EN

Stack Overflow用户

发布于 2009-08-20 13:51:00

你知道吗,特别是你在测试什么?测量“性能”并不总是无用的,除非你确切地知道它是你想要的。

例如,您是否在寻找查询结果检索的低延迟?也许是日期检索的高吞吐量?也许您更关心数据库中的快速插入,而不是快速查询结果?也许您关心的是不同表上的不同内容(实际上,情况几乎总是如此)。

我的建议可能会被忽略,但我还是会说:

在你知道自己想要什么之前,不要使用进行优化。

在编写代码时,不要使用进行优化。

当你开始优化你的数据库时,要确保你优化的是正确的东西。使用真实的数据-如果你正在测试字典大小的文本块,不要测试二进制数据(例如)。

不管怎样,我知道你可能在找一个更专业的答案,但是嘿...

票数 4
EN

Stack Overflow用户

发布于 2009-08-20 13:44:23

apache的ab是一个很好的工具,它是apache httpd服务器的标准配置。此工具可以与web服务器建立多个连接,并对其性能进行基准测试。虽然firebug是一种很好的方式来查看事物lod的顺序,每个项目需要多长时间加载,等等,但你只能看到一个用户的体验。对于卸载的测试服务器,这些信息只能带您走到这一步。ab模拟多个用户连接,并将给出一个特定页面如何处理并发用户的更真实的图景。

这导致了我在ab中的一个限制:它只测试一个URL。我经常通过弹出一个简单的测试网页来解决这个问题,它从我想要测试的预定义URL列表中随机选择一个。例如:登录页面、搜索结果、发表评论等等。ab命中测试页面,测试页面只是调用其中一个测试URL(可能使用随机化的参数)并返回该页面。通过这种方式,您可以更好地了解整个站点如何处理并发用户。

PS:你的操作系统是无法回答的。你必须根据你的应用程序是如何编写的,数据的布局,web服务器和数据库服务器的配置,等等来弄清楚这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1306226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档