0

我有一个 spring REST 控制器,其唯一目的是在每次移动客户端启动或启动应用程序时创建或更新记录。此 URL 仅在用户启动应用程序或恢复后进入前台时触发(即,当用户按下设备主页按钮到其他位置时,用户按下应用程序图标将其从内存中带到前台)。

此 URL 的预期请求数约为每分钟 600 个请求。

为了扩展这个应用程序,将数据库(MySql)创建/更新 Spring 控制器的逻辑放在一个单独的线程中或使用 Spring 的 @Async 功能更好吗?这样它就不会长时间保持系统端口,并且一台机器可以在我的 Web 服务器( glassfish )将请求推送到等待队列之前处理大量请求。

此外,该表中的预期表大小或记录数约为 10M - 30M。

4

1 回答 1

1

我个人至少从一开始就不会打扰异步调用。创建一个 jmeter 脚本并对其进行一些加载,看看它是如何执行的。

如果您开始使用 Async 并在其后面使用 threadPoolExecutor(您可以轻松配置),这当然是一个有效的选择。使用这些类型的东西来配置队列大小和线程数量(用于线程池执行器和 Web 容器)有点像 jmeter 之类的东西和诸如 Yourkit 之类的良好分析工具之类的东西。 .

于 2016-10-26T15:17:45.087 回答