我使用struts2创建了一个Web应用程序,并使用mysql进行了休眠。我迁移到play框架,所以现在我有两个应用程序实例,其中一个实例是用struts2编写的。我可以看到随游戏的性能大大提高,但是当我使用JMeter模拟加载时,struts2版本可以比游戏更好地扩展,并且延迟更短。为什么会这样,这是否意味着更好地坚持使用struts2? webapp(我正在从localhost进行测试,除了模板语言,struts2运行在tomcat7上,而运行在独立服务器上的运行时,两个应用程序具有相同的代码)
Struts 2 Version
Start time Tread Name Label time(ms) Status Bytes Latency
1 10:24:49.854 videovixx struts2 1-6 HTTP Request 981 Success 9116 6
2 10:24:49.830 videovixx struts2 1-5 HTTP Request 1101 Success 9116 16
3 10:24:49.780 videovixx struts2 1-3 HTTP Request 1264 Success 9116 2
4 10:24:49.774 videovixx struts2 1-2 HTTP Request 1309 Success 9116 15
5 10:24:49.741 videovixx struts2 1-1 HTTP Request 1509 Success 9116 10
6 10:24:49.868 videovixx struts2 1-7 HTTP Request 1513 Success 9116 43
7 10:24:49.933 videovixx struts2 1-10 HTTP Request 1471 Success 9116 5
8 10:24:50.294 videovixx struts2 1-27 HTTP Request 1156 Success 9116 134
9 10:24:50.037 videovixx struts2 1-15 HTTP Request 1503 Success 9116 68
10 10:24:49.950 videovixx struts2 1-11 HTTP Request 1608 Success 9116 18
Play Version
Start time Tread Name Label time(ms) Status Bytes Latency
1 10:24:49.809 videovixx play 2-1 HTTP Request 881 Success 13016 881
2 10:24:49.803 videovixx play 2-2 HTTP Request 1562 Success 13016 1562
3 10:24:49.839 videovixx play 2-3 HTTP Request 2146 Success 13016 2146
4 10:24:49.920 videovixx play 2-7 HTTP Request 2065 Success 13016 2065
5 10:24:50.080 videovixx play 2-15 HTTP Request 1905 Success 13016 1905
6 10:24:50.242 videovixx play 2-23 HTTP Request 1743 Success 13016 1743
7 10:24:50.493 videovixx play 2-36 HTTP Request 1492 Success 13016 1492
8 10:24:50.570 videovixx play 2-39 HTTP Request 1619 Success 13016 1619
9 10:24:50.646 videovixx play 2-43 HTTP Request 1571 Success 13016 1571
13016 2105
参考方案
您需要根据应用程序的配置文件配置线程模型。更具体地说,您的应用程序似乎高度同步。 documentation建议以下配置:
play {
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = WARNING
actor {
default-dispatcher = {
fork-join-executor {
parallelism-min = 300
parallelism-max = 300
}
}
}
}
}
包括Java in Play! Scala源代码树杀死编译 - java我正在使用Play!与Scala一起使用,并在源代码树中包括几个Java类。一切正常,直到我开始在树中直接包含源类。看来,每当我尝试使用app / com / class / class.java之类的文件夹编译应用程序时(仔细检查导入的结构是否正确),该应用程序都不会编译。它将在提示中启动,并进入“ API phase was ...”并挂起。我改编了一个…
Struts2-通过带有动态参数的批注进行转发 - java我正在尝试将操作结果转发到带有动态参数的另一个操作。传递给第二个动作的参数具有""值。@Result(name = "success", location = "edit_service_subscribers", type = "redirect", params = {…
java:继承 - java有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…
Java:BigInteger,如何通过OutputStream编写它 - java我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…
Java-如何将此字符串转换为日期? - java我从服务器收到此消息,我不明白T和Z的含义,2012-08-24T09:59:59Z将此字符串转换为Date对象的正确SimpleDateFormat模式是什么? java大神给出的解决方案 这是ISO 8601标准。您可以使用SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM…