-
Notifications
You must be signed in to change notification settings - Fork 6
性能指标监控管理
张弓 edited this page Feb 19, 2021
·
1 revision
性能指标监控管理
-
所有的服务访问(推送1个数据,或取得一个数据),内部设计指标为:最长不超过30秒,若达10秒以上时,必须于日志监控上发出警告;外部承诺参考指标:90%的页秒,最长不超过30秒
-
所有的页面访问(微信页面打开等),内部设计指标为:最长不超过2秒,若达3秒以上时,必须于日志监控上发生警告;外部承诺参考指标:90%的页面,最长不超过3秒
-
所有的服务,都要考虑在收到性能警告时,能够很容易地由同步调用,改为异步调用。
此处说的异步,与ajax的异步调用所有不同:服务异步,指请求服务时,立即返回结果,如请求最近3年的总销售额,同步时为立即返回结果,异步时则返回:您的请求已收到,正在计算中,稍后通知您计算结果。
同步调用转异步调用编写范例:
//提供同步调用:
public function ServiceTotalAmount(DataSet dataIn, DataSet dataOut, StringBuffer msg){
String year = dataIn.getHead().getString("year");
double total = 0;
//TODO: 从数据库中统计指定年份的金额到total
dataOut.getHead.setField("total", total);
return true;
}
//提供异步调用:
public function ServiceTotalAmount(DataSet dataIn, DataSet dataOut, StringBuffer msg){
SyncService sync = new SyncService(this, "ServiceTotalAmount_old");
//发送到消息队列,排队执行,执行完成,会推送消息于用户
String reqNo = sync.post(dataIn, dataOut);
msg.append("您的请求已收到,正在计算中,稍后通知您计算结果。");
//返回队列请求序列号,若前台愿意等待,可根据序列号查询进度
dataOut.getHead.setField("reqNo", reqNo);
return true;
}
summer-footer
summer-db