打字猴:1.700474503e+09
1700474503
1700474504 该系统一共有8台应用服务器,基本上CPU繁忙程度都在60%以上,HTTP的最大并发是2000,平均分配到每台应用服务器上没有太大的压力,于是怀疑是代码问题,然后详细了解了一下业务和数据流逻辑,基本的业务操作过程清楚了,先登录(没有账号的,则要先注册),登录后,需要填写以下信息:
1700474505
1700474506 ❑考试科目,选择框。
1700474507
1700474508 ❑考试地点,选择框,根据科目不同,列表不同。
1700474509
1700474510 ❑准考证邮寄地址,输入框。
1700474511
1700474512 还有其他一堆信息,我们以这三者作为代表来讲解。信息填写完毕后,点击确认,报名就结束了。简单程序的业务逻辑也确实是这样,为什么出现Crash情况呢?那肯定是和压力有关系!
1700474513
1700474514 我们先把这个过程的静态类图画出来,如图28-1所示。
1700474515
1700474516
1700474517
1700474518
1700474519 图28-1 报考系统类图
1700474520
1700474521 很简单的工厂方法模式,表现层通过工厂方法模式创建对象,然后传递给业务层和持久层,最终保存到数据库中,为什么要使用工厂方法模式而不用直接new一个对象呢?因为是在框架下编程,必须有一个对象工厂(ObjectFactory,Spring也有对象工厂)。我们先来看报考信息,如代码清单28-1所示。
1700474522
1700474523 代码清单28-1 报考信息
1700474524
1700474525 public class SignInfo{
1700474526
1700474527 //报名人员的ID
1700474528
1700474529 private String id;
1700474530
1700474531 //考试地点
1700474532
1700474533 private String location;
1700474534
1700474535 //考试科目
1700474536
1700474537 private String subject;
1700474538
1700474539 //邮寄地址
1700474540
1700474541 private String postAddress;
1700474542
1700474543 public String getId(){
1700474544
1700474545 return id;
1700474546
1700474547 }
1700474548
1700474549 public void setId(String id){
1700474550
1700474551 this.id=id;
1700474552
[ 上一页 ]  [ :1.700474503e+09 ]  [ 下一页 ]