内存是当今世界上广泛浪费的资源之一。 由于编程效率低下,浪费了令人惊讶的(有时是“令人震惊的”)内存。 我们看到这种模式在多个企业应用程序中重复出现。 为了证明这种情况,我们进行了一项小型研究。 我们分析了著名的Spring Boot PetClinic应用程序,看它浪费了多少内存。 该应用程序是由社区设计的,旨在展示如何使用Spring应用程序框架来构建简单但功能强大的面向数据库的应用程序。
环境
- Spring Boot 2.1.4。发布
- Java SDK 1.8
- 的Tomcat 8.5.20
- 带有MySQL连接器/ J 8.0.15的MySQL 5.7.26
压力测试
我们使用了流行的开源负载测试工具Apache JMeter进行压力测试。 我们使用以下设置执行了30分钟的负载测试:
- 线程数(用户) – 1000(连接到目标的用户数)
- 加速周期(以秒为单位) – 10.所有请求开始的时间范围。 根据我们的配置,每0.01秒,将启动1个新线程,即100个线程/秒。
- 循环计数 –永远。 这1000个线程背对背执行测试迭代。
- 持续时间(秒) –1800。加速后,1000个线程连续运行1800秒。
我们在负载测试中执行了以下方案:
- 将新的宠物主人添加到系统。
- 查看有关宠物主人的信息。
- 向系统添加新宠物。
- 查看有关宠物的信息。
- 将有关访问的信息添加到宠物的访问历史中。
- 更新有关宠物的信息。
- 更新有关宠物主人的信息。
- 通过搜索其姓名查看所有者信息。
- 查看所有所有者的信息。
发表评论