博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
业务负荷管理实现
阅读量:2440 次
发布时间:2019-05-10

本文共 689 字,大约阅读时间需要 2 分钟。

背景

业务需要实时监控cpu、内存、TCP连接和数据库连接数,供发生问题时回溯日志,并在超过某负荷时拒绝服务并发出告警

实现

1.监控部分,使用sigar,主要包括CPU信息、TCP连接、内存等,参考;数据库部分使用Spring DBCP包,获取数据库当前连接和最大连接等

示例代码如下:

private void sampleDbConnPool()	{		double dbConnPoolOcc = 0;		double dsOcc[] = new double[dsSet.size()];		int i = 0;		/*		 * Go through each data source		 */		for (BasicDataSource ds : dsSet)		{			dsOcc[i++] = (double) ds.getNumActive() / ds.getMaxActive();		}		/*		 * Select max occupancy for data source		 */		dbConnPoolOcc = selectMax(dsOcc);		occSample.put(OLCConst.DB_CONN_POOL_OCC, dbConnPoolOcc);	}
2.监控采用定时器,继承TimerTask类,定时采集需要监控的信息;

3.将常用配置写到properties文件,以方便修改,如采集的间隔时间;

bean配置和固有的分级放到spring配置文件,分级类似优先级为3;80-85,2:85-90,数字越大优先级越高

示例如下:

转载地址:http://rxcqb.baihongyu.com/

你可能感兴趣的文章
第13章 术 语 大 全 (8) (转)
查看>>
第13章 术 语 大 全 (9) (转)
查看>>
人月神话读书笔记(二) (转)
查看>>
附录 UML元模 (转)
查看>>
A Brief Look at C++ 中文版 (转)
查看>>
JBuilder Editor中光标不能正确定位问题的解决 (转)
查看>>
XML加ASP实现网页“本地化” (转)
查看>>
Java中的异步网络编程 (转)
查看>>
用于核心模式驱动程序的网络体系结构(1) (转)
查看>>
More Effective C++ 条款20 (转)
查看>>
一个程序员的爱恋 (转)
查看>>
足球战术->边锋之Decorator篇 (转)
查看>>
编写优质无错代码(1) (转)
查看>>
MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1) (转)
查看>>
vs.net beta 2中利用DataGrid分页详解 (转)
查看>>
Process-Display-Process (PDP) pattern (转)
查看>>
基于构件复用的软件方法与COM支持 (转)
查看>>
DELPHI中使用API函数详解 (转)
查看>>
Single Entry Point to EJB Layer (转)
查看>>
InsideJVM(3)--Method area(方法区) (转)
查看>>