Questions tagged «performance-testing»

4
SQL Server命令在运行性能比较之前清除缓存
比较两个不同查询的执行时间时,重要的是清除缓存以确保第一个查询的执行不会改变第二个查询的性能。 在Google搜索中,我可以找到以下命令: DBCC FREESYSTEMCACHE DBCC FREESESSIONCACHE DBCC FREEPROCCACHE 实际上,在执行几次查询之后,我的查询比以前花费了更实际的时间。但是,我不确定这是推荐的技术。 最佳做法是什么?

5
PostgreSQL上的Aggressive Autovacuum
我试图让PostgreSQL主动自动清理数据库。我目前已将自动吸尘配置如下: autovacuum_vacuum_cost_delay = 0#关闭基于成本的真空 autovacuum_vacuum_cost_limit = 10000#最大值 autovacuum_vacuum_threshold = 50#默认值 autovacuum_vacuum_scale_factor = 0.2#默认值 我注意到只有在数据库未处于负载状态时才会启动自动清理功能,因此我遇到了这样的情况:死元组比活动元组多得多。有关示例,请参见随附的屏幕截图。其中一张桌子有23个活动元组,但有16845个死元组正在等待真空。太疯狂了! 当测试运行完成并且数据库服务器处于空闲状态时,自动吸尘器将启动,这不是我想要的,因为当失效的元组的数量超过20%的活动元组+ 50时,我希望自动吸尘器启动,因为数据库已经配置。服务器空闲时自动清理对我来说毫无用处,因为生产服务器在持续的时间内有望达到每秒数千次的更新,这就是即使服务器负载时我也需要运行自动清理的原因。 有什么我想念的吗?在服务器负载较重时,如何强制自动吸尘器运行? 更新资料 难道这是一个锁定问题?有问题的表是汇总表,这些表是通过插入后触发器填充的。这些表被锁定为SHARE ROW EXCLUSIVE模式,以防止并发写入同一行。

2
如何正确执行MySQL烘烤?
我想针对一些其他分支(例如Percona服务器,MariaDB以及可能还有其他一些)进行性能测试(又称烘烤)MySQL服务器rpm。我希望通过提出这个问题,我可以更好地理解设置适当的性能测试的方法。我计划使用sysbench来运行我的实际测试,但是我可以接受任何东西。 我应该采取什么步骤来确保测试结果一目了然,并且只有RDBMS是变体? 我从哪里开始? 如何评估结果? 你能给我什么建议?

8
生成测试数据的大型数据集的工具
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 5年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 很多时候,当试图提出一种有效的数据库设计时,最佳的做法是建立两个示例数据库,将它们填充数据,并对它们运行一些查询,以查看哪个数据库性能更好。 有没有一种工具可以相对快速地生成(理想情况下直接进入数据库)大型(约10,000条记录)测试数据集?我正在寻找至少与MySQL兼容的产品。

3
与替代整数键相比,自然键在SQL Server中提供的性能更高还是更低?
我是代理键的粉丝。我的发现存在确认偏倚的风险。 我在这里和http://stackoverflow.com上看到的许多问题都使用自然键而不是基于IDENTITY()值的替代键。 我在计算机系统方面的背景告诉我,对整数执行任何比较运算都比比较字符串快。 该评论使我质疑我的信念,因此我认为我将创建一个系统来研究我的论点,即在SQL Server中用作键的整数比字符串快。 由于小型数据集之间的区别可能很小,因此我立即想到了两个表的设置,其中主表具有1,000,000行,而辅助表在主表中的每一行有10行,总共有10,000,000行。辅助表。我的测试的前提是创建两组这样的表,一组使用自然键,一组使用整数键,然后对一个简单的查询运行计时测试,例如: SELECT * FROM Table1 INNER JOIN Table2 ON Table1.Key = Table2.Key; 以下是我作为测试平台创建的代码: USE Master; IF (SELECT COUNT(database_id) FROM sys.databases d WHERE d.name = 'NaturalKeyTest') = 1 BEGIN ALTER DATABASE NaturalKeyTest SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE NaturalKeyTest; END GO CREATE DATABASE NaturalKeyTest ON …

5
查询调优应该是主动还是被动?
作为软件开发人员和有抱负的DBA,我在设计SQL Server数据库时尝试结合最佳实践(我的软件有99%的时间位于SQL Server之上)。在开发之前和开发过程中,我会做出最好的设计。 但是,就像其他任何软件开发人员一样,这里添加了功能,错误以及对需求的更改,这些需求要求更改/创建的数据库对象。 我的问题是,查询调优应该是主动还是被动?换句话说,在对代码/数据库进行大量修改之后的几周内,我是否应该留出一天时间检查查询性能并据此进行调整?即使看起来运行正常吗? 还是我应该意识到,性能低于平均水平的应该是数据库检查并回到众所周知的黑板上? 查询调优可能会花费大量时间,并且取决于最初的数据库设计,它可能带来的收益很小。我对接受的作案手法感到好奇。

2
在Google BigTables(和其他集成数据库)上进行性能测试
有哪些有效的方法可以对数据库操作执行程序性能测试,尤其是在数据库本身不提供专用工具的环境中? 例如,在Google App Engine中,整个页面加载被评估为一项操作,其中可能包括特定的数据库操作。SQLite和其他集成DB中也可能出现此问题。由于很难完全抽象出需要测试的(等效)选择和插入内容,是否有推荐的数据库工具对这些类型的查询执行更彻底的诊断?

3
测试存储过程的可伸缩性
我有一个电子邮件应用程序,将在每个页面加载时调用该应用程序以将给定用户的新消息数传送到UI。我在数据库级别测试的东西有一些变体,但是所有这些都通过存储的proc调用抽象出来。 我试图猛击数据库以查看断点(每秒请求数)。 简而言之,我有一个表,如此userId,newMsgCount,以及对userId的聚集索引。SQL应该每秒能够处理数百或数千个此类响应。我认为落后者是我的.NET应用程序。 我怎样才能使它成为一个很好的测试,以基于SQL性能获得测试结果? 是否有为此工具,我可以为其提供存储的proc名称和参数以将其打包到数据库中? 我想看看数据库是否可以返回分钟。每秒250个响应。

4
有哪些工具可以为SQL Server生成测试数据?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 从我的另一个问题中可以看到,生成测试数据是我现在的主题。 此时,我仍在手动生成测试数据。但是,由于此过程是手动过程,因此始终会生成少量数据(通常为五行)。 是否有任何工具可以自动执行此过程?特别是,我希望能够生成100万条以上的行。

1
重置SQL Server使用率
在我的开发环境中,我正在处理查询。为此,我需要重置SQL Server内存,计划等,这些可以确保我的查询是重置所有值的服务器上唯一的压力/工作过程。 我正在做的事情很少 触发检查点 DBCC DROPCLEANBUFFERS; DBCC免费程序; DBCC FLUSHPROCINDB DBCC FREESESSIONCACHE DBCC SQLPERF(“ sys.dm_os_wait_stats”,CLEAR); 我做得对吗?还是我需要更多东西来清除或查看最新统计信息?

1
有关SQL Server基准测试的明确步骤列表?
在为使用SQL Server的应用程序运行性能测试/基准之前,我希望能够将实例设置为“干净”状态,而无需重新启动实例。我倾向于遵循一些步骤,但是我想建立一个确定的列表,该列表的顺序正确,没有多余的步骤。 此步骤列表是否完成将SQL Server设置为“干净”状态? 顺序逻辑/正确吗? 有多余的步骤吗? CHECKPOINT -- Write all dirty pages DBCC DROPCLEANBUFFERS -- All should be clean after checkpoint? DBCC FREEPROCCACHE -- Clear the plan cache DBCC FREESYSTEMCACHE -- Is this necessary after FREEPROCCACHE? DBCC FREESESSIONCACHE -- May not be necessary if distributed queries aren't used, but want …

3
如何对SQL Server进行压力测试?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 3年前关闭。 我的任务是对我们的MSSQL Server和MySQL Server进行压力测试。我想知道是否可以在当前系统和新系统上使用任何工具或脚本来比较性能? 我想衡量对磁盘和处理器性能的读/写。其他可能有用的东西也将很好。 谢谢!

1
最新服务器上的性能降低
我们有几个生产中的数据库服务器,其中有四个具有非常相似的硬件配置。Dell PowerEdge R620,唯一的不同是2个最新的(购买和配置3个月前)具有RAID控制器v710、256GB RAM和CPU,是2个物理Xeon E5-2680 2.80GHz。旧版本(大约在1年前购买和配置)具有RAID控制器v700、128GB RAM并运行在第2台物理Xeon E5-2690 2.90GHz上。BIOS已更新,所有驱动程序已更新为最新版本,等等。所有正在运行的SQL Server 2008R2 Enterprise(SP1)已更新为最新CU和Windows 2012R2 Standard。两者都在200 GB SSD x5 RAID10上运行。每个数据库上仅运行一个数据库,使用调用SSIS程序包的作业进行同步。我们的系统管理员已进行了大量性能和压力测试,以确保我们没有任何硬件或网络遗漏配置或故障。不出所料,最新的表现出更好的性能结果。到目前为止,一切都很好。 在Kibana的屏幕截图中可以看到我们遇到的问题。黄色和橙色是2台较新的服务器(表上为6.7),在所有其他服务器之下。完全可见这2台新服务器的响应时间较慢。不仅如此,而且这2台服务器的负载也比2台旧服务器(表上的浅蓝色和深蓝色线-4,5)要少一些。 有几个监视脚本,用于收集有关性能计数器的信息。尽可能地利用DMV和第三个监视工具进行挖掘,我掌握了很多信息。但是这里应该有(ofc)我缺少的东西,因为我找不到这种较慢的响应时间的答案。 这两个最新的服务器使用的RAM较少,但是与其他较旧的服务器相比,这是可以预期的,因为它们的负载较低。 | Server Name| Mem_MB | Mem_GB | Server_RAM_GB | SQL_max_mem_GB| SQL_min_mem_GB | |------------|--------|--------------|---------------|---------------|----------------| | 4 | 41108 | 40.145263671 | 128 | 120 | 16 | | 5 | …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.