この記事では、特にJiraで、Atlassian製品の大規模なインストールで非常に単純な問題に直面する方法について説明します。
ボトルネックを分析および検出する方法:
統計
サンプリング
プロファイリングとトレース
この記事では、リクエストトレースを分析します。これは、リクエストのほぼ全体のセグメントを示します。つまり、クライアントのブラウザからのリクエストの開始から、リバースプロキシ(存在する場合)への移行、アプリケーションサーバー、およびキャッシュ、Lucene検索インデックス、DBMSにそれを。
重要な点は、要件に記載されているツールの使用について厳しい要件があったため、顧客側のシステムを分析することが難しいということです。
要件
APM- ( ) , . — . , , open source . — , .
:
;
(On-Premise);
;
Elasticsearch (Opendistro);
JVM ( Atlassian , Java), javaagent;
HTTP c SQL-;
;
, , . , 12 , 1 . . , .
https://openapm.io/landscape, APM-. Glowroot, .
, , Cassandra ( ) Elasticsearch.
wget -c https://github.com/glowroot/glowroot/releases/download/v0.13.6/glowroot-0.13.6-dist.zip
2. mkdir -p /jira/glowroot/tmp, Jira , , Jira
chown -R jira: /jira/home/glowroot
3. setenv.sh jira, /jira/current/bin. , /opt/atlassian/jira/bin :
JVM_SUPPORT_RECOMMENDED_ARGS="-javaagent:/jira/glowroot/glowroot.jar ${JVM_SUPPORT_RECOMMENDED_ARGS}"
4. :
systemctl restart jira
:
tail -f {jira_installation_directory}/logs/catalina.out
127.0.0.1, glowroot , , admin.json. bindAddress 0.0.0.0 . contextPath - /glowroot.
reverse proxy ( nginx), :
location /glowroot {
proxy_pass http://127.0.0.1:4000;
}
Agent-Installation-(with-Embedded-Collector)
, jira.example.com/glowroot .
, .
, , , .
,
glowroot , 30000, . trace, .
, PostgreSQL, PostgreSQL IOPS.
— Jira , thread dump , .
stacktrace , .
stacktrace , createTemporaryTablesIfNeeded .
. .
entity engine, , .
, .
:
unlogged cwd_users PostgreSQL
, ? , , ? , ?
, Atlassian .
, .