【Druid】DruidはSSMプロジェクトの性能を監視する-構成と実例
10524 ワード
原文へようこそ:【Druid】DruidはSSMプロジェクトの性能を監視する-構成と実例
紹介する
以前はプロジェクトをしていたときもdruidパフォーマンスモニタリングを構成していませんでしたが、ユーザーが増えるにつれて、サイトのアクセスが遅くなったり、どこがパフォーマンスの問題に遭遇したのかを知りたいと思って、方法やsqlを最適化し、インデックスのインデックスを追加し、そのキャッシュのキャッシュを行いました.
Druidはアリババのオープンソースプラットフォーム上のデータベース接続プールで実現されています(ネット上では現在javaで最も良い接続プールだと言われています).Druidはまた、強力な監視と拡張機能を提供します.Druidはオープンソースプロジェクトで、githubにソースコードが管理されています.ソースコード倉庫のアドレスは次のとおりです.https://github.com/alibaba/druid
精度を方法レベルで監視することができ、どの方法で、どのsql文に最も多くの時間を費やし、的確な最適化を行うことができます.
maven構成druid
Maven倉庫の住所で、別のバージョンを自分で設定します.http://www.mvnrepository.com/artifact/com.alibaba/druid
Druidのモニタ統計を開く
Springのプロファイルで、データソースの構成
p:filters構成値:stat,wall,log 4 jモニタリング統計用のfilter:statログ用のfilter:log 4 j防御sql注入のfilter:wall自分で構成を選択でき、複数の構成間を英語のカンマで区切ることができます
Web.xml追加構成
ユーザー名とパスワードを設定したり、ホワイトリストを構成したりできます.ユーザー名パスワードを設定しないと、誰でもアクセスできます.
アクセス方法
アクセス先:http://127.0.0.1:8080/プロジェクト名/druid/index.html
アカウントのパスワードを入力してログインした後
アクセスhttp://localhost:8080/insert?name=chx データを挿入すると、sql文が実行するパフォーマンスが表示されます.
SQL実行時間分布
例えば、あるSQLは1000回実行され、そのうち0~1ミリ秒区間50回、1~10ミリ秒800回、10~100ミリ秒100回、100~1000ミリ秒30回、1~10秒15回、10秒以上5回である.消費時間区間分布により、SQLの実行にかかる時間をよく知ることができます
データソースとSQLモニタ、SQLファイアウォール、Webアプリケーション、URLモニタ、Sessionモニタ、Springモニタが開いていません
URLモニタ、Sessionモニタ、Webアプリケーションを開く
Web.xmlでの構成
Springモニタをオンにする
Springプロジェクトである以上、SpringのBeanやspringのAOP特性と組み合わせてコードの実行効果を監視する必要があります.druidはメソッドレベルの監視を行うことができます.この機能は、メソッドの呼び出し頻度とメソッドの実行時間を発見し、タイムリーに調整と修正を行い、プロジェクトをより丈夫にすることができます.
スプリングプロファイル
SQLスロークエリのログの設定
SQLモニタリングでは、sqlの実行が最も遅い実行時間に関する統計がありますが、sql文の実行が最も遅い実行時間レコードは1つの値しかありません.時間がある時間を超えるsql文のログ出力を実行でき、パフォーマンスの最適化が容易になります.
Springプロファイル追加ブロック
データ・ソースの構成を変更するには、次の手順に従います.
遅いsql時間とログブロックの構成
ここでは、ローカルで行っているので、データ量が少ないので、テストを容易にするために5 msに設定します.
log 4 jプロファイルを変更し、遅いsqlログの出力ポリシーを追加
遅いsqlが設定されている時間は5ミリ秒より大きいため、実行時間が5ミリ秒より大きい場合は赤色でマークされます.
ログファイルを見てください:クエリーの遅いsqlを印刷しました.
使用中に他の解決できないdruidの問題に遭遇したり、別のものを構成したい場合は、次のアドレスにアクセスしてください.公式のドキュメントはここにあります.https://github.com/alibaba/druid/wiki/よくある質問
最後に、この小さなテストdruidの項目をアップロードしました.ソースが必要な方はダウンロードしてみてください
プロジェクトのアドレス:
GITHUBソースアドレス:
【私を訪問します】
この文章は[記憶に精通している]から作成され、すべての権利が保持されている.転載を歓迎して、分かち合うのは進歩の源泉です.
転載は出典を明記してください.http://chenhaoxiang.cn/2018/02/06/2255/本文は【記憶に詳しいブログ】から
紹介する
以前はプロジェクトをしていたときもdruidパフォーマンスモニタリングを構成していませんでしたが、ユーザーが増えるにつれて、サイトのアクセスが遅くなったり、どこがパフォーマンスの問題に遭遇したのかを知りたいと思って、方法やsqlを最適化し、インデックスのインデックスを追加し、そのキャッシュのキャッシュを行いました.
Druidはアリババのオープンソースプラットフォーム上のデータベース接続プールで実現されています(ネット上では現在javaで最も良い接続プールだと言われています).Druidはまた、強力な監視と拡張機能を提供します.Druidはオープンソースプロジェクトで、githubにソースコードが管理されています.ソースコード倉庫のアドレスは次のとおりです.https://github.com/alibaba/druid
精度を方法レベルで監視することができ、どの方法で、どのsql文に最も多くの時間を費やし、的確な最適化を行うことができます.
maven構成druid
com.alibaba
druid
1.1.0
Maven倉庫の住所で、別のバージョンを自分で設定します.http://www.mvnrepository.com/artifact/com.alibaba/druid
Druidのモニタ統計を開く
Springのプロファイルで、データソースの構成
...
"dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close"
p:driverClassName="${driverClassName}"
p:url="${jdbc_url}"
p:username="${jdbc_username}"
p:password="${jdbc_password}"
p:initialSize="${jdbc_init}"
p:minIdle="${jdbc_minIdle}"
p:maxActive="${jdbc_maxActive}"
p:filters="${druid_filters}"
>
...
p:filters構成値:stat,wall,log 4 jモニタリング統計用のfilter:statログ用のfilter:log 4 j防御sql注入のfilter:wall自分で構成を選択でき、複数の構成間を英語のカンマで区切ることができます
Web.xml追加構成
...
DruidStatView
com.alibaba.druid.support.http.StatViewServlet
loginUsername
root
loginPassword
chenhaoxiang
DruidStatView
/druid/*
...
ユーザー名とパスワードを設定したり、ホワイトリストを構成したりできます.ユーザー名パスワードを設定しないと、誰でもアクセスできます.
アクセス方法
アクセス先:http://127.0.0.1:8080/プロジェクト名/druid/index.html
アカウントのパスワードを入力してログインした後
アクセスhttp://localhost:8080/insert?name=chx データを挿入すると、sql文が実行するパフォーマンスが表示されます.
SQL実行時間分布
例えば、あるSQLは1000回実行され、そのうち0~1ミリ秒区間50回、1~10ミリ秒800回、10~100ミリ秒100回、100~1000ミリ秒30回、1~10秒15回、10秒以上5回である.消費時間区間分布により、SQLの実行にかかる時間をよく知ることができます
データソースとSQLモニタ、SQLファイアウォール、Webアプリケーション、URLモニタ、Sessionモニタ、Springモニタが開いていません
URLモニタ、Sessionモニタ、Webアプリケーションを開く
Web.xmlでの構成
DruidWebStatFilter
com.alibaba.druid.support.http.WebStatFilter
exclusions
*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
profileEnable
true
DruidWebStatFilter
/*
Springモニタをオンにする
Springプロジェクトである以上、SpringのBeanやspringのAOP特性と組み合わせてコードの実行効果を監視する必要があります.druidはメソッドレベルの監視を行うことができます.この機能は、メソッドの呼び出し頻度とメソッドの実行時間を発見し、タイムリーに調整と修正を行い、プロジェクトをより丈夫にすることができます.
スプリングプロファイル
...
"druid-stat-interceptor" class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor" />
"druid-stat-pointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut" scope="prototype">
"patterns">
com.uifuture.user.service.*
com.uifuture.user.dao.*
"true"/>
"druid-stat-interceptor"
pointcut-ref="druid-stat-pointcut" />
...
SQLスロークエリのログの設定
SQLモニタリングでは、sqlの実行が最も遅い実行時間に関する統計がありますが、sql文の実行が最も遅い実行時間レコードは1つの値しかありません.時間がある時間を超えるsql文のログ出力を実行でき、パフォーマンスの最適化が容易になります.
Springプロファイル追加ブロック
データ・ソースの構成を変更するには、次の手順に従います.
"dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close"
p:driverClassName="${driverClassName}"
p:url="${jdbc_url}"
p:username="${jdbc_username}"
p:password="${jdbc_password}"
p:initialSize="${jdbc_init}"
p:minIdle="${jdbc_minIdle}"
p:maxActive="${jdbc_maxActive}"
p:filters="${druid_filters}"
>
"proxyFilters">
遅いsql時間とログブロックの構成
"stat-filter" class="com.alibaba.druid.filter.stat.StatFilter">
"slowSqlMillis" value="1000"/>
"logSlowSql" value="true"/>
"log-filter" class="com.alibaba.druid.filter.logging.Log4jFilter">
"dataSourceLogEnabled" value="true" />
"statementExecutableSqlLogEnable" value="true" />
ここでは、ローカルで行っているので、データ量が少ないので、テストを容易にするために5 msに設定します.
log 4 jプロファイルを変更し、遅いsqlログの出力ポリシーを追加
#####
log4j.rootLogger=INFO,console,file,error,druid
...
# Druid
log4j.logger.druid.sql=WARN,druid
log4j.logger.druid.sql.DataSource=WARN,druid
log4j.logger.druid.sql.Connection=WARN,druid
log4j.logger.druid.sql.Statement=WARN,druid
log4j.appender.druid=org.apache.log4j.DailyRollingFileAppender
log4j.appender.druid.layout=org.apache.log4j.PatternLayout
log4j.appender.druid.layout.ConversionPattern= [%p] %d{yyyy-MM-dd HH\:mm\:ss} [%l] -> %m [%t] [chx]%n
log4j.appender.druid.datePattern='.'yyyy-MM-dd
log4j.appender.druid.Threshold = WARN
log4j.appender.druid.append=true
log4j.appender.druid.File=${catalina.home}/logs/druid_spring_config/druid-slow-sql.log
# ${catalina.home} tomcat
遅いsqlが設定されている時間は5ミリ秒より大きいため、実行時間が5ミリ秒より大きい場合は赤色でマークされます.
ログファイルを見てください:クエリーの遅いsqlを印刷しました.
使用中に他の解決できないdruidの問題に遭遇したり、別のものを構成したい場合は、次のアドレスにアクセスしてください.公式のドキュメントはここにあります.https://github.com/alibaba/druid/wiki/よくある質問
最後に、この小さなテストdruidの項目をアップロードしました.ソースが必要な方はダウンロードしてみてください
プロジェクトのアドレス:
GITHUBソースアドレス:
【私を訪問します】
この文章は[記憶に精通している]から作成され、すべての権利が保持されている.転載を歓迎して、分かち合うのは進歩の源泉です.
転載は出典を明記してください.http://chenhaoxiang.cn/2018/02/06/2255/本文は【記憶に詳しいブログ】から