如何从脚本确定Sybase服务器的负载

时间:2014-12-10 21:55:41

标签: load sybase sybase-ase

我必须在服务器上运行带有不同参数的存储过程几次(10 000+)。我想从脚本并行启动查询。在开始新查询之前,我想确定Sybase服务器的负载,以自动和动态地决定可以并行启动多少查询。

现在我计算查询的平均响应时间,如果它变得太高,那么我就停止启动新查询,如果它低于预定义值,那么我可以开始更多查询。但它非常依赖于存储过程,有时甚至依赖于传递给它的参数,因此我希望得到一些更客观的度量,类似于cat /proc/loadavguptimetop返回的Linux负载平均值。 {1}})。 Gmake具有类似的功能,可以并行运行并仅在平均负载小于指定值时启动新流程(请参阅-j-l选项)。

有没有办法获得一些与服务器实际负载相关的指标?

我不是管理员,我正在远程启动查询。

1 个答案:

答案 0 :(得分:0)

在一些搜索之后,我找到了一个存储过程,它可以提供有关特定服务器的系统负载的大量详细信息。它被称为sp_sysmon

它提供了大量信息。其中一些可能有用。我发现用户需要SA角色才能运行此存储过程的唯一问题。

一个例子(这打印几乎所有的统计数据):

sp_sysmon "00:01:00", noclear, @applmon = appl_and_login

它提供了有关所有"引擎"的信息。属于Sybase服务器,网络流量,磁盘I / O(甚至每个设备),工作进程,并行查询,任务上下文切换,任务,缓冲区,事务,索引,锁,数据缓存,内存等。

可以减少输出,为其添加不同的参数。我必须玩一点,但它似乎是一个非常酷的工具。

似乎' sa_role'问题也可以解决(说明Granting SA rights to non-SA users,来源:grant_sa.sql)。

但当然有一个缺点。 Documentation州:

  

sp_sysmon在a上运行时会产生5到7%的开销   单CPU服务器,以及多处理器服务器上的更多服务器。大量的   开销随着CPU数量的增加而增加。