sqlplus連線數的測試
最近測試庫上會有很多的連線的問題,很多都是jdbc連線的問題,在此基礎上我測試了一下sqlplus連線的情況,
根據sqlplus的命令,有conn,disc,disc會斷開連線。
我想如果不停的conn 而不disc,連線數會不會爆。
按照這個思路寫了下列的指令碼,大體如下。
sqlplus TEST1/TEST1@test <
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
......
可以複製很多如上的部分。
但是測試發現,session書依然沒有變化。好像是自動關閉了一樣。
把間隔時間加大,加入sleep,
sqlplus TEST1/TEST1@test <
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
.....
結果如下所示,sid對應的serial#會不停的增長。但是上一個session會自動斷掉。session總數也不變,看來sqlplus會自動disc。看來效能很好。
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51931 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51933 1
SQL>
COUNT(*)
----------
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51935 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51937 1
SQL>
COUNT(*)
----------
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51939 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51941 1
SQL>
COUNT(*)
----------
44
根據sqlplus的命令,有conn,disc,disc會斷開連線。
我想如果不停的conn 而不disc,連線數會不會爆。
按照這個思路寫了下列的指令碼,大體如下。
sqlplus TEST1/TEST1@test <
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
......
可以複製很多如上的部分。
但是測試發現,session書依然沒有變化。好像是自動關閉了一樣。
把間隔時間加大,加入sleep,
sqlplus TEST1/TEST1@test <
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
conn TEST1/TEST1@test
select sid,serial#, count(*)from v\$session where username='TEST1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
conn TESTO1/TESTO1@test
select sid,serial#, count(*)from v\$session where username='TESTO1' group by sid,serial#;
select count(*)from v\$session;
!sleep 2
!sleep 5
.....
結果如下所示,sid對應的serial#會不停的增長。但是上一個session會自動斷掉。session總數也不變,看來sqlplus會自動disc。看來效能很好。
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51931 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51933 1
SQL>
COUNT(*)
----------
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51935 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51937 1
SQL>
COUNT(*)
----------
44
SQL>
SQL>
SQL> SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2941 9786 1
2955 51939 1
SQL>
COUNT(*)
----------
44
SQL>
SQL> Connected.
SQL>
SID SERIAL# COUNT(*)
---------- ---------- ----------
2955 51941 1
SQL>
COUNT(*)
----------
44
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-776087/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 測試 mysql 的最大連線數MySql
- sqlplus連線資料庫的幾種方法SQL資料庫
- 【JDBC】java連線池模擬測試 連線oracleJDBCJavaOracle
- 測試rss與navicat連線
- 5. Oracle連線和使用——5.1. sqlplusOracleSQL
- 離線數倉測試
- root 使用者通過 sqlplus 連線資料庫SQL資料庫
- oracle資料庫透過sqlplus連線的幾種方式介紹Oracle資料庫SQL
- 測試兩臺電腦的網路連線速度
- JMeter MQTT 在連線測試場景中的使用JMeterMQQT
- php7連線mysql測試程式碼PHPMySql
- Linux測試點對點連線速度工具Linux
- RabbitMQ開啟SSL與SpringBoot連線測試MQSpring Boot
- mysql的JDBC架包下載及簡單測試連線MySqlJDBC
- Fiddler移動端連線及弱網測試
- 【JDBC】java連線池模擬測試連線Oracle資料庫指令碼參考JDBCJavaOracle資料庫指令碼
- 連線池和連線數詳解
- 測試前奏 之 ADB無限連線除錯模式除錯模式
- 移動測試新手指引--ADB 連線裝置
- 【解決】無法連線 MKS:套接字連線嘗試次數太多正在放棄
- 資料庫的連線數資料庫
- 測試需要連線外網,這種情況下如何模擬弱網測試
- [20240818]測試21c下sqlplus show recyclebin的小問題2.txtSQL
- TCP 百萬併發 資料連線測試 python+locustTCPPython
- 在微信小程式中打造 MQTT 連線測試工具微信小程式MQQT
- HC-25 連線HC web網路端測試tcpserverWebTCPServer
- 介面測試 - 引數測試
- 眼圖測試(訊號完整性測試)-材料熱分析 | TMA測試材料的平均線性膨脹係數
- MySQL連線數管理MySql
- 服務端c100k連線測試和客戶端65535測試驗證2服務端客戶端
- vmware中控制檯的連線已斷開…正在嘗試重新連線
- [JM_08]JMeter連線Mysql資料庫測試實踐JMeterMySql資料庫
- 使用telnet測試指定埠的連通性
- Linux 預設連線數Linux
- MySQL 修改最大連線數MySql
- 連載 7 - 測試的本質 - 測什麼、怎麼測
- 時間線測試
- websocket線上測試Web
- Redis基礎系列-0x001:安裝與連線測試Redis