清除執行時間資料
概觀
系統很容易低估生產系統中產生並儲存的資料量。由於資料量與使用案例高度相關,PTC 並未就儲存的資料量給出官方建議。但是為了提升效能,建議為所有生產系統制訂清除舊資料的計劃。當計劃清除資料時,應考慮下列內容:
記錄了多少內容?
多少物件已記錄內容?
多久記錄一次這些內容?
是否應封存記錄資料?請參閱執行時間資料部份。
一般而言,如果在數百個 Edge 裝置上每隔數分鐘記錄一次若干內容的資料,則資料可能會保留數月到一年。如果每分鐘針對一千個不同物件記錄數次 100 個內容的資料,則可能需要清除數週的舊資料。建議持續以小區塊執行查詢並清除資料。更頻繁地 (每日一次而不是每週一次) 建立清除計劃將有助於提升效能。
如果資料儲存需要超過一年,PTC 建議使用外部資料庫進行儲存。
如何清除資料
雖然用於清除資料的 JavaScript 依據情境而有所不同,但是下列一般步驟相同:
1. 建立新物件並將其「基礎物範本」設定為「排程器」
2. 開啟「組態」部份並設定 runAsUserschedule 內容。
如需 schedule 內容之正確格式的資訊,請參閱 https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
根據清除工作,預期 JVM 使用率會在工作期間增加。因此,最好在離峰時間將大型工作分解為較小的工作。
3. 選取「訂閱」,然後按一下「新增」按鈕。
4. 「訂閱資訊」部份中,選取「我」並核取「已啟用」
5. 按一下「輸入」
6. 「事件」欄位中,選取 ScheduledEvent
7. 為清除工作新增 JavaScript 特定細節。
* 
對於值串流與串流服務,如果不提供開始日期,則會清除所有值,從 epoch 開始清除。如果未提供結束日期,則會清除截止到執行服務時間的所有內容。
排程器最佳作法
請勿在物範本層級訂閱計時器或排程器事件。相反地,請訂閱物件。
請勿在頻繁觸發的計時器中查詢大量資料。如需其他資訊,請參閱本文中的 PTC 社群
在可能的情況下,請不要在訂閱中查詢並更新相同的資料來源。相反,在每個訂閱中查詢一次資料表,如有必要,可在排程器工作結束時再查詢一次 (使用批次更新陳述式)。
清除值串流、串流、檔案存放庫
這是否有幫助?