[英]Running Spring Boot application with HTTPS enabled in docker on cloud foundry
[英]How to profile memory of a spring boot webapp running on cloud foundry?
我有一個在內部雲代工廠空間上運行的 Spring Boot 應用程序。 我想監視此 Web 應用程序的堆棧和堆內存,以查找源自代碼的 StackOverflow 異常。
分析應用程序的最佳方法是什么。
要在本地機器上測試分析,請使用以下 JMX 配置運行應用theapp
,然后轉到最后一步“3. VisualVM 配置” :
java \\ -Dcom.sun.management.jmxremote=true \\ -Djava.rmi.server.hostname=localhost \\ -Dcom.sun.management.jmxremote.port=9999 \\ -Dcom.sun.management.jmxremote.rmi.port=9999 \\ -Dcom.sun.management.jmxremote.ssl=false \\ -Dcom.sun.management.jmxremote.authenticate=false \\ -jar theapp.jar ...
要將 JMX 配置傳遞給 CF 中的應用theapp
,請使用JBP_CONFIG_JMX
環境變量(或帶有上述參數的JAVA_OPTS
), manifest.yml
:
applications: - name: theapp buildpack: java_buildpack env: JBP_CONFIG_JMX: "{enabled: true, port: 9999}" # JAVA_OPTS: "-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.rmi.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
cf ssh -N -T -L 9999:localhost:9999 theapp
visualvm --jdkhome "$JAVA_HOME"
localhost:9999
cf app theapp --guid # example: 12345678-1234-1234-1234-123456789012
獲取 ssh 客戶端的一次性密碼:
cf ssh-code # example: PolSkAjEzyKtrUdnA
創建 PuTTY SSH 連接:
theapp.your.cloud
2222
cf:<app-guid>/<app-instance-index>@ssh.your.cloud
cf:12345678-1234-1234-1234-123456789012/0@ssh.your.cloud
<ssh-code>
PolSkAjEzyKtrUdnA
9999
127.0.0.1:9999
: 127.0.0.1:9999
如果您在 cloudfoundry 安裝中啟用了 ssh 訪問,則可以使用 JMX 或 Yourkit Profiler 來執行此操作。
以下是一些鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.