我有更多關於意見和經驗的問題,而不是技術解決方案。通過生產中的JMX進行休眠和Ehcache統計
您如何看待在生產環境中通過JMX控制檯打開Hibernate統計信息和Ehcache統計信息?這似乎是一個好的或可怕的想法?爲什麼?
問候
我有更多關於意見和經驗的問題,而不是技術解決方案。通過生產中的JMX進行休眠和Ehcache統計
您如何看待在生產環境中通過JMX控制檯打開Hibernate統計信息和Ehcache統計信息?這似乎是一個好的或可怕的想法?爲什麼?
問候
在我看來,有2點突出的問題在這裏:
我們假設#1是真實的(否則我們爲什麼在這裏?:))
至於#2而言,你會真的有負載的情況下測試應用程序,無論是沒有統計數字,但我的經驗是,這兩個數字組件都沒有什麼性能影響。此外,定期收集和分析這些統計數據可能會導致改進,因爲它可能會幫助您找到瓶頸或系統中未使用高速緩存的部分。
我想你可能會爭辯說有更好的方法來挖掘這些信息,比如讓一個後臺線程週期性地將統計信息寫入日誌文件,它適用於像「元素如何在緩存中」那樣簡單的指標,但許多如果核心引擎沒有啓用統計信息(如大部分Hibernate的指標),統計信息將不可用。另外,JMX已經走了很長一段路,並且有各種創造性的方式來訪問和分析/報告/可視化它所暴露的數據。
希望這是有幫助的。
我工作的產品擁有一切 - 休眠狀態,Ehcache統計信息,JMX等等。但是,我們通過我們特殊的後端(而不是JMX)公開Hibernate/Ehcache信息,只有管理員用戶可以訪問這些信息,並使用JMX監視綁定到SLA合同的各種事情。但是,如果你的產品沒有這樣的後端,通過JMX公開db/cache統計信息聽起來對我來說不是一個錯誤的事情。
打開生產環境的統計數據並不是什麼大不了的事情。每筆交易的成本約爲一個AtomicLong
incrementAndCount
,這幾乎是免費的。除非您每秒處理數百萬筆交易,否則您不應該注意到任何差異。
嗨,謝謝你的回答。我做了一些基準測試,它不應該影響我的系統性能。 – altanis