減少記憶體問題的最佳作法
在開發及監視 ThingWorx 應用程式時,請遵循下列最佳作法,以避免發生由記憶體造成的效能問題:
ThingWorx 應用程式功能中監視每天的記憶體使用量。這有助於您瞭解應用程式在穩定狀態下及壓力狀況下的記憶體使用量。
使用 Apache JMeter 或相似的公用程式,模擬許多使用者及裝置同時與您 ThingWorx 應用程式互動的情況,以透過類似生產的資料執行可擴充性測試。
您必須確保為可擴充性測試分配足夠的系統資源。大多數生產系統都需要 64 GB 的 RAM,其中的 40 GB 會分配給 Java 堆集。
串流查詢可先從資料庫擷取大量記錄,然後再在 JVM 記憶體中進一步篩選。建議您新增適當的時間間隔,以使串流擷取的列數達到最少。對於日常生產時資料開始累積的使用情況而言,此作法特別有用。
如有可能,請使用外部系統,例如資料庫伺服器、微服務伺服器或聯合 ThingWorx 伺服器,來進行大量記憶體內處理。
最佳化執行時間冗長的服務。執行時間超過 10 分鐘的任何服務都有可能在執行期間鎖定記憶體、資料庫連線及其他伺服器資源。排程的服務也應該在 10 分鐘之內執行並完成,這樣才可確保將記憶體資源恢復供系統使用。
請考慮針對生產的使用情況實行高可用性叢集。這樣可確保即使其中一個 ThingWorx 節點遇到記憶體問題,整個應用程式仍保持可用。