Oracleに短い接続を適用すると、接続の嵐が発生します.
3041 ワード
テキストリンク:https://yq.aliyun.com/articles/682417
さらに、前のお客様の環境を調べてみると、同期プログラムは短い接続の形でデータベースにアクセスし、平均して毎秒70回の接続であることがわかりました.テスト環境で一括短接続テストを行うことで、大量の
という形式のものになります.(一)環境をテストし、EasyDBデータベース管理ソフトウェアにアクセスする
(二)shellスクリプトを簡単に作成し、大量のデータベース接続を開始する
(3)EasyDBモニタリング情報を見ると、このとき各指標は急上昇したが、TPS=0、QPS、論理読みは明らかに上昇したOracle CPU、DBTimeは明らかに上昇したホストCPUの急上昇は基本的にソフト解析であり、顧客環境と遭遇した違いはDB監査を開き、log file sync待機事件を引き起こした(4)分析listener.logファイル、1秒あたりの接続数を確認
この時間の傍受は毎秒大量の接続要求に応答している(5)AWR報告を分析し、SQL監査を開いたため、入庫する操作があるかどうかを見ることができます.最後は私たちが実行したテストSQLです.その他はすべて再帰SQLで、大量の再帰SQLです;しかし、ハード解析は存在せず、この顧客環境の現象が一致しない(6)テストに合格し、データベースの問題を再確認し、set roleを実行していない場合も、同様に発生することを検証する.クライアント・アプリケーションには短い接続が多数存在し、データベース、サーバ・リソースが急上昇し、リスニングがより多くのリクエストに応答できなくなります.お客様のプログラムは開発者が見つからないため、アプリケーションの調査が難しい.cursor_sharing=FORCEは、いくつかのメリットをもたらしますが、政府はこれを長期的な最適化方法として提案していません.お客様にビジネスアーキテクチャを更新し、長い接続を使用し、コアコードを自主的に把握するように注意します.
さらに、前のお客様の環境を調べてみると、同期プログラムは短い接続の形でデータベースにアクセスし、平均して毎秒70回の接続であることがわかりました.テスト環境で一括短接続テストを行うことで、大量の
select /*+ connect_by_filtering index(sysauth$ i_sysauth1) */ privilege#, bitand(nvl(option$, 0), 8), grantee#, level from sysauth$ connect by grantee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0
という形式のものになります.(一)環境をテストし、EasyDBデータベース管理ソフトウェアにアクセスする
sys@ORCL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
sys@ORCL> show parameter audit
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/oracle/admin/orcl/adu
mp
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string DB
sys@ORCL> show parameter cursor_sharing
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cursor_sharing string EXACT
(二)shellスクリプトを簡単に作成し、大量のデータベース接続を開始する
#more /home/oracle/connect.sh
for i in {1..200000}
do
for j in {1..40}
do
sh /home/oracle/conn.sh
done
done
#more /home/oracle/conn.sh
# ,
sqlplus baiyang/oracle@orcl << EOF
select * from v\$version;
exit;
EOF
# job , ,
nohup sh connect.sh > /dev/null 2>&1&
(3)EasyDBモニタリング情報を見ると、このとき各指標は急上昇したが、TPS=0、QPS、論理読みは明らかに上昇したOracle CPU、DBTimeは明らかに上昇したホストCPUの急上昇は基本的にソフト解析であり、顧客環境と遭遇した違いはDB監査を開き、log file sync待機事件を引き起こした(4)分析listener.logファイル、1秒あたりの接続数を確認
grep '26-DEC-2018' listener.log | sed 's/\*.*SERVICE_NAME=/ /g;s/).*HOST=/ /g;s/).*$//g' | awk '{if(NF==4){print "insert into t_tab values('\''"$1"'\'','\''"$2"'\'','\''"$3"'\'','\''"$4"'\'');"}}' > connect.txt
#
@/u01/app/oracle/diag/tnslsnr/172-16-8-141/listener/trace/connect.txt
#
この時間の傍受は毎秒大量の接続要求に応答している(5)AWR報告を分析し、SQL監査を開いたため、入庫する操作があるかどうかを見ることができます.最後は私たちが実行したテストSQLです.その他はすべて再帰SQLで、大量の再帰SQLです;しかし、ハード解析は存在せず、この顧客環境の現象が一致しない(6)テストに合格し、データベースの問題を再確認し、set roleを実行していない場合も、同様に発生することを検証する.クライアント・アプリケーションには短い接続が多数存在し、データベース、サーバ・リソースが急上昇し、リスニングがより多くのリクエストに応答できなくなります.お客様のプログラムは開発者が見つからないため、アプリケーションの調査が難しい.cursor_sharing=FORCEは、いくつかのメリットをもたらしますが、政府はこれを長期的な最適化方法として提案していません.お客様にビジネスアーキテクチャを更新し、長い接続を使用し、コアコードを自主的に把握するように注意します.