高分解惑--------C#连ORACLE连接池并发的疑问?
首先描述一下我的状况
通过WEBSERVICE 访问ORACLE ,连接方式是ODP.NET,连接字符串如下
Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =servername)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME =dbname))); User Id =uid; Password =pwd;Pooling=true;Max Pool Size=10;Min Pool Size=5"
我想给WEBSERVICE做压力测试,
当每秒发动一次请求时,可以在200毫秒内响应,
当每秒发动十次请求(用线程),这个时候的结果就不对了,最快的>250,最慢的在1000左右。我监控ORACLE V$SESSION又只看到5个SESSION,而不是MAX Pool Size=10,
后来每10秒发动100次请求(线程),最快250,最慢10秒以上,而且SESSION数也没有增加。
最后把连接池固定为100个,后来每10秒发动100次请求(线程),不仅没有改善,还发现最快的也只有700毫秒。
(查过SERVER,CPU(>30%),内存消耗不高(>40%),资源不成问题)
以上测试结果有哪位高人帮忙解释一下。
另外如果我想改善,提高并发质量,要怎样做,配WEB.CONFIG吗?怎么配?还是有别的办法?