問題
- データベースサーバーで1時間ごとに高いCPU使用率が観測され、 SamlSpMessagesとSamlSpAuthRequestsテーブルに大量のデータが存在します。
環境
- DXP 7.1
解決
-
根本的な原因は、以下の2つのリスナーが何らかの原因でしばらく動作せず、大量の期限切れレコードがクリーンアップされていないことだと思われます。 リスナーが再びアクティブになったとき、これらのテーブルをクリーンアップするために大規模なリソースを必要とします。
com.liferay.saml.runtime.internal.messaging.SamlSpMessageMessageListener
DBの
createDateとLiferayのSpAuthRequestMaxAgeの設定を比較して、expiredSamlSpAuthRequetsを削除しています。com.liferay.saml.runtime.internal.messaging.SamlSpAuthRequestMessageListener
有効期限を確認してExpiredSamlSpMessagesを削除しています。
-
SamlSpMessagesとSamlSpAuthRequestsテーブルの期限切れレコードをクリーンアップするには、以下のAPIの使用を検討してください。
com.liferay.saml.persistence.service.SamlSpMessageLocalServiceUtil.deleteExpiredSamlSpMessages();com.liferay.saml.persistence.service.SamlSpAuthRequestLocalServiceUtil.deleteExpiredSamlSpAuthRequests();