问题标签 [resource-governor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
2498 浏览

soa - SOA 治理解释

有人知道 SOA 治理的全部内容吗?SOA 治理和 IT 治理之间有什么区别(或相关性)?以及如何使用市场上可用的 SOA 平台来应用它?

建立在 SOA 平台上的项目可以在不应用 SOA 治理的情况下取得成功吗?如何?我这里是从实用的角度讲的。

0 投票
1 回答
249 浏览

sql - SQL 资源调控器是否在执行查询期间重新分配资源?

假设我有两个用户(U1、U2)映射到两个资源池(R1、R2),最大值分别为 20% 和 80%。U1 执行一个耗时的查询,运行时间为 15 分钟。当它开始执行时,它是唯一的进程,因此 SQL 服务器会为该查询分配全部资源。5 分钟后,U2 执行另一个查询。Resource Governor 会减少 U1 的资源到 20% 并允许 U2 占用 80% 还是等待 U1 完成然后允许 U2 占用 80%。

我同意第一种情况是预期的,但我看到了这篇文章并很好奇。请解释在真实场景中会发生什么。

0 投票
1 回答
952 浏览

sql-server - 在 Sql Server 2008 中跟踪或记录资源调控器分类函数行为

我正在尝试在 SQL Server 2008 中使用资源调控器,但我发现很难调试分类函数并弄清楚输入变量将具有什么,即 SUSER_NAME() 是否包含域名?APP_NAME() 字符串是什么样的?

也很难验证它是否正常工作。函数返回哪个组?我能看到这一点的唯一方法是启动性能监视器并不眨眼地观察正确 CPU 计数器中的小信号。

有什么方法可以在调试模式下运行它,我可以设置断点并单步执行并查看变量值,或者我至少可以执行将跟踪语句写入文件的老式方法,以便我可以看到这是怎么回事?

谢谢...

0 投票
2 回答
641 浏览

sql-server - SQL Server 中特定查询请求的 I/O 优先级

很抱歉介绍了这么长,但在我提出问题之前,我认为提供背景信息将有助于更好地理解我们的问题。

我们将 sql server 2008 用于我们的 Web 服务作为后端,并且有时需要花费太多时间来响应应该运行得非常快的请求,例如查询表的选择请求需要超过 20 秒只有 22 行。我们经历了许多可能导致问题的潜在领域,从索引到存储过程、触发器等,并尝试优化我们可以删除不经常读取但经常写入的索引或为我们的选择查询添加 NOLOCK 以减少锁定表(我们可以接受脏读)。

我们还让我们的 DBA 审查了服务器并对组件进行了基准测试,以查看 CPU、内存或磁盘子系统中的任何瓶颈,并发现在硬件方面我们也可以。而且由于偶尔会出现问题,因此很难在生产或开发中重现错误,因为大多数情况下,当我们重新运行相同的查询时,它会产生我们期望的响应时间,这些响应时间很短,而不是已经较早经历。

话虽如此,我几乎一直对 I/O 持怀疑态度,尽管它似乎不是瓶颈。但我认为我只是能够在服务器上为特定表运行索引碎片报告后重现该错误,这立即导致请求中的峰值不仅针对该表运行,而且在查询其他表的其他请求中也出现。而且由于数据库和服务器与我们使用的其他应用程序共享,并且有时查询可以在服务器和数据库上运行,这对我们来说是一个常见的场景,我怀疑偶尔的 I/O 瓶颈是,我相信,成为一个事实。

因此,我想找到一种方法来优先处理来自 Web 服务的请求,即使有其他资源敏感查询正在运行,这些请求也会被处理。从解决过程一开始,我就一直在寻找我上面描述的某种优先级,并发现 SQL Server 2008 有一个称为“资源调控器”的功能,它允许对请求进行优先级排序。

但是,由于我不是 Resource Governor 方面的专家,也不是 DBA,所以我想问问其他可能使用过或正在使用 Resource Governor 的人的经验,以及我是否可以为特定登录或特定的 I/O 优先级存储过程(例如,如果在我们收到 Web 服务请求时正在运行一个 I/O 密集型进程,SQL Server 是否可以停止或减慢该进程的 I/O 活动并优先处理我们的请求?刚刚收到?)。

感谢任何花时间阅读或提前提供帮助的人。

一些硬件细节:
CPU:2x 四核 AMD Opteron 8354
内存:64GB
磁盘子系统:Compaq EVA8100 系列(我不确定,但它应该是 8 个 HP HSV210 SCSI 驱动器上的 RAID 0+1)

PS:而且我几乎可以 100% 确定应用程序服务器没有导致错误,并且我们可以确定那里没有瓶颈。

更新1:

对于gbn在下面提出的以下问题,我将尽我所能回答。如果您正在寻找其他东西,请告诉我。

1)请问您有什么样的索引和统计维护?
我们有一个每周运行的作业,每周五对索引进行碎片整理。除此之外,还启用了自动创建统计信息和自动更新统计信息。并且峰值也发生在碎片作业之外的其他时间。

2)你有什么样的写入数据量?
很难回答。除了我们的 Web 服务之外,还有一个访问相同数据库的前端应用程序,据我所知,需要定期运行资源密集型查询,但是,我不知道如何获取,比如说每周或每天,将金额写入数据库。

3) 您是否分析过重新编译和统计更新事件?
很抱歉无法弄清楚这一点。我不明白你在问这个问题。如果可能的话,你能提供更多关于这个问题的信息吗?

0 投票
1 回答
1237 浏览

sql-server - SQL Server 资源调控器的替代方案

我有一个运行 SSRS 2008 R2 Standard 的报表服务器。此服务器从另一个 SQL Server 2008 R2(再次标准)检索数据。我想以类似于资源调控器的方式管理这些 SQL 标准服务器上的查询优先级。

资源调控器是一个仅限企业的功能,我目前无法升级到该版本。您能否建议一种方法/工具来实现这一点,即使只是在某种程度上:基于帐户、CPU 使用率、查询超时?

0 投票
2 回答
246 浏览

sql - 防止来自非特权用户的 SQL 查询阻塞关键进程

我有一个系统,允许用户登录并构建查询以针对 SQL 2012 服务器运行。系统需要在允许的查询方面非常自由,所以我只是依靠 SQL 授权来防止用户做他们不应该做的事情。

我担心仍然会发生优先级倒置之类的事情。假设一个非特权用户登录,找到一个要滥用的表并在其上运行十几个外部连接。或者只是开始一个事务并且从不关闭它。

我想确保非特权用户无法阻止更多特权用户的关键进程。我正在考虑使用资源管理器来执行此操作,但我不确定这是否是我可能需要担心的其他问题的最佳方式。

确保来自非特权用户的查询不会阻塞关键进程的最佳方法是什么?

0 投票
1 回答
362 浏览

sql - 单个数据库上的 SQL Server 资源调控器

我有一个专有软件的数据库,它驻留在与我开发的 C# 应用程序的一些数据库共享的 SQL Server 2005 实例上。我遇到了一些专有软件的存储过程占用资源的问题。有没有办法限制特定数据库的 CPU 使用率?我主张将数据库移动到不同的服务器/实例,但我需要一个可以阻止我到那时的解决方案。

0 投票
2 回答
725 浏览

sql-server-2012 - 使用资源调控器限制第二个 SQL Server 实例

试图掌握 SQL Server 2012 的资源调控器。

我有一个包含以下实例的开发框:

服务器实例 http://hardhobbittobreak.com/wp-content/uploads/2014/05/server-instances.png

我想设置资源调控器,以便表格 SSAS 实例仅获得服务器 CPU 和 RAM 的 20%。那可能吗?如果是这样,怎么办?到目前为止,我研究的信息并没有像我希望的那样帮助我。

奖金:下周在休斯顿访问 TechNet 的人的最佳答案获得啤酒。:p

0 投票
1 回答
1532 浏览

event-log - 资源调控器未正确运行

我在生产数据库上使用资源调控器来限制最大 CPU 使用率。但它不能有效地工作。我在不同的服务器上使用相同的结构并且它工​​作正常。服务器之间的唯一区别是 CPU 计数。我的操作系统版本是 Windows Server 2012 R2,我的 MS SQL Server 版本是“Microsoft SQL Server 2014 - 12.0.2495.0 (X64) Mar 31 2015 09:47:37 版权所有 (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64 -bit) 在 Windows NT 6.3 (Build 9600:) (Hypervisor) 上" 我的分类器函数脚本如下:

我的资源池脚本如下:

我的最终描述脚本如下:

它不限制最大 CPU 使用率。我将默认 max_cpu_percent 设置为 %60,但有时它使用 %100%。因此,我们无法正常访问系统。这是来自我的事件日志的错误消息:“无法运行资源调控器分类器用户定义的函数‘dbo.rgclassifier_MAX_CPU’。最后一个错误 8525,状态 1。有关详细信息,请参阅 SQL Server 错误日志中的先前错误,来自会话 ID 538。分类器经过时间:0 毫秒。” 你可以帮帮我吗?

0 投票
1 回答
3722 浏览

mariadb - 错误!:SQLSTATE[42000] [1226] 'max_user_connections' 资源(当前值:30),但 max_user_connections 配置为 1000

当mysql用户超过max_user_connections时,访问者会得到一个Mysql错误,返回当前值为30,但max_connections和max_user_connections设置为1000。问题发生时,CPU几乎达到98%。

在 mysql 错误日志中,我们收到了来自另一个用户的大量拒绝访问错误,大约 5000 个拒绝连接。我的问题不是为什么 PHP 脚本会占用所有这些连接,而是要知道为什么不应用配置的变量 max_user_connections 和 max_connections。那些配置为 1000,但错误消息返回 30。怎么可能?

我激活了 log_warnings=2,以获取更多信息,但我们没有获得额外信息。知道为什么会出现这种行为吗?或者如何审计mysql来找到这个问题的根源?

收到的错误信息是:

错误!:SQLSTATE [42000] [1226] 用户“some_user”已超出“max_user_connections”资源(当前值:30)

错误似乎是:错误:1226 SQLSTATE:42000(ER_USER_LIMIT_REACHED)

消息:用户“%s”已超出“%s”资源(当前值:%ld)

并不是 :

错误:1203 SQLSTATE:42000 (ER_TOO_MANY_USER_CONNECTIONS)

消息:用户 %s 已经有超过 'max_user_connections' 的活动连接

我们正在使用 MariaDB,版本: