ThingWorx 中的執行緒類型
依預設,下列執行緒一般都可在 ThingWorx 環境中使用。視您的資料庫或自訂而定,您可能會看到其他一些執行緒類型。
https nio (執行緒數量 1-1024 +)
用於使用者請求或 REST 負載的執行緒。所有外部請求在不同的執行緒類型上執行前,一開始都會通過 nio (非阻塞 IO) 執行緒。您可以配置超過 1024 個執行緒。在 Apache Tomcat 中,預設執行緒數量為 150 個。
WSExecutionProcessor (執行緒數量 1000 +)
用於遠端裝置通訊的執行緒,例如 Kepware。一般而言,只有少數的這一類執行緒處於執行中狀態;這些執行緒有 99% 的時間都處於等待狀態下。這些執行緒使用 WebSocket 執行處理子系統配置。如果這裡的所有執行緒都在忙碌中,或者 WebSocket 執行處理子系統顯示事件佇列不斷增加,這就表示裝置通訊中出現瓶頸。
TWEventProcessor (執行緒數量 16 +)
用於針對所有事件、計時器與排程器執行程式碼的執行緒。當這些執行緒忙碌時,事件會進入佇列。如果佇列進行大量備份,可能會對伺服器效能產生影響。如果所有事件執行緒都持續忙碌,伺服器可能會開始變得沒有回應,並可能無法回應使用者輸入。這些執行緒是其中一種主要執行緒類型,建議對其進行監視。您可以配置使用中執行緒的數量,並可使用事件處理子系統對其進行監視。如果此類型的所有執行緒都在忙碌中,即表示事件、計時器或排程器執行中出現瓶頸。在此情況下,事件處理器子系統中的 activeThreads 會持續保持較高,ThingWorx Composer 子系統中的事件佇列也會不斷增加。
C3P0 (執行緒數量 3-8)
管理所有資料庫連線的執行緒。如果執行緒長時間阻塞,則會導致發生資料庫存取問題。
計時器或排程器 (執行緒數量 30-40)
用來監視及觸發排程器與計時器的執行緒。TWEventProcessor 執行緒上會發生程式碼執行。這些執行緒不會執行大量的處理工作。它們會為需要開始其他處理的事件計時。
pool (執行緒數量 40 +)
用來寫入持續內容、串流與值串流項目的執行緒。內部計時器會觸發這些執行緒,執行緒的大部份時間都處於閒置狀態。這裡的其中一些執行緒都對應於串流與值串流處理子系統。如果這些子系統中的佇列增加,則表示發生資料庫輸送量問題。對應的執行緒活動已經達到飽和。
非同步執行緒 (執行緒數量 1-100+)
若將基礎服務標記為非同步,則會在單獨的執行緒上觸發企業邏輯。非同步執行緒數量於尖峰時可能達到數千個。觸發執行緒的服務名稱是執行緒名稱的一部份。
各種 JVM 或 Tomcat Apache 執行緒 (執行緒數目:40+)
在 Tomcat Apache 層上用於內部伺服器操作的執行緒。通常不會對這些執行緒進行分析,因為它們不會觸發效能瓶頸。