gpt4 book ai didi

mysql - 使用 @Async 更好地扩展 Spring 应用程序以进行大量数据库插入或更新查询

转载 作者:行者123 更新时间:2023-11-29 11:12:38 30 4
gpt4 key购买 nike

我有一个 Spring REST Controller ,其唯一目的是每次移动客户端启动或启动应用程序时创建或更新记录。仅当用户启动应用程序或恢复后进入前台时(即,当用户按设备主页按钮进行其他操作时,一段时间后,用户按应用程序图标将其从内存带到前台),才会触发此 URL。

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

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

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

最佳答案

我个人不会打扰异步调用,至少一开始是这样。创建一个 jmeter 脚本并向其触发一些负载并查看其执行情况。

如果你开始变慢,使用带有 threadPoolExecutor 的异步(你可以轻松配置)肯定是一个有效的选择。通过这些类型的东西,配置队列大小和线程数量(无论是线程池执行器还是 Web 容器)都有点像魔法,这就是 jmeter 和 Yourkit 等优秀分析工具的用武之地。 .

关于mysql - 使用 @Async 更好地扩展 Spring 应用程序以进行大量数据库插入或更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40265669/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com