簡體   English   中英

Java通過線程與API服務器建立許多連接

[英]Java many connections to API server with threads

我創建了一個自定義Web API,用於將數據提交給Java應用程序的MYSQL服務器。 在我的Java應用程序中,我需要添加/更新200行,並且我已經讓它一次發出一個請求。

  1. 這可能會非常耗時,因此我可以為所有這些不同的連接創建線程嗎?
  2. 我應該限制一次最多連接的數量嗎? 一次大概10個?
  3. 這會導致與mysql完全相同的時間添加行的任何問題嗎? (無需在單個時間點更改2行)

在多個連接中插入記錄可能會加快200個插入的速度,但是只有在引入多個線程之后進行測試和測量,您才能確定。 我還將建議嘗試JDBC批處理並一次性將所有200個插入發送到數據庫(如果在實現中可能的話),因為這可以通過節省往返數據庫的時間來提高性能。

要創建連接池,請查看HikariCP ,它是JDBC連接池的實現。 它將允許您指定最小/最大並發連接數以及其他設置。 然后,您的工作線程可以從池中請求連接並執行插入。

如果它為每個插入獲取一個表鎖,則在mySQL級別上並發插入多個記錄可能會出現問題。 在這種情況下,使用多個線程將無法提高速度,並且可能需要在數據庫級別進行一些調整才能解決該問題。 這是一篇很好的文章,應該對您有所幫助: 使用mySQL進行高速率插入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM