2016-05-03 88 views
0

我想通过循环中的简单查询调用服务器来对我的sql服务器进行压力测试。我想要并行运行此过程。假设我有x个客户端在循环中调用服务器10000次,我将测量y秒直到最后一个查询结束。我会测量y和x的行为。如何压力测试Sql服务器性能与每秒数量请求

这个测试是否有意义?

我只有一台PC和一台dev数据库服务器。如何在多线程上下文中运行查询 - 知道sql server有连接池并会缓存我的查询,有什么需要记住的吗?

+1

你有'DBA'?看看他们是否可以设置和执行计划或为你做性能测试矩阵.. – MethodMan

回答

0

你不能这样做,使用,因为它缓存数据的简单查询(如你所提到的)

你需要使用哪个需要时间(至少几秒钟到几分钟)不同的查询。此外,您的查询应该读取大量数据并将大量/少量数据返回给客户端。

我的建议是这样来做:

  1. 2列(id int, query nvarchar(max))创建一个表。用不同的查询填充你的 表,简单到复杂,快到 消费。您可能需要数百或数千个different查询。
  2. 编写一个多线程程序,每个线程从不同行中随机读取 查询并执行它。您可能需要数百或数千个查询数据库的线程。
  3. 如果您的数据库是OLTP,并且用户在读取数据的同时更新/插入数据,则还需要更新/插入语句。

注意:你应该有一个不同的机器比你的程序上的SQL Server,否则您的测试不是很有效的,因为在现实世界中,在网络上的数据传输。

请“标记为答案”,如果一个帖子已经回答了这个问题

相关问题