欢迎来到天天文库
浏览记录
ID:14102577
大小:181.50 KB
页数:5页
时间:2018-07-26
《pb11编写webservice数据库连接性能研究》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Pb是很好的开发数据库应用的软件,pb8以前可以用其自带的Transport对象实现三层结构,但pb8以后简单好用的只有easerver,但据说这是很贵的软件,就是盗版也不好找。Pb11可直接将nvo发布为webservice,这对pb熟手来说是一个很好的事情,可是,习惯了C/S结构开发的思路,用webservice,数据库连接会不会过于频繁?用pb内部的数据库连接方式有没有连接池?Webservice连接性能到底怎样?等等问题,是每个从C/S编程转向B/S编程或采取三层结构编程的人都会涉及到的。下面就以pb11写webservicepb8调用对其连接池及性能进行测试。1、单客户端、不连
2、接数据库、pb写的webservice的响应速度测试方案:Pb11webservice函数of_adder(),累加当前秒钟值10000次的结果。客户端pb8,在不同电脑上,调用1000次。Webservice代码如下图。测试结果: 耗时25秒,无数据库连接会话。2、单客户端、连接数据库、pb的webservice的响应速度测试方案1:函数f_connect()连接数据库,函数of_getdbhandle()返回当前连接数据库事务对象的句柄,客户端保持webservice连接(每次调用不重新初始化),webservice保持数据库连接不断开。客户端pb8,在不同电脑上,调用100次
3、。客户端代码如下:stringls_wsdllongi,jlongnumssetpointer(hourglass!)//连接系统库SQLCA.DBMS="IN7INFORMIX-7"SQLCA.Database="sysmaster"SQLCA.UserId="informix"SQLCA.DBPass=wf_sa_pwd()SQLCA.ServerName="192.168.0.1@server1"SQLCA.AutoCommit=FalseSQLCA.DBParm="CommitOnDisconnect='No',DisableBind=1"connectusingsqlca;if
4、sqlca.sqlcode<>0thenmessagebox('错误',"连接系统库失败",stopsign!)returnendiftimet1,t2t1=now()st_times.text=''//循环调用forj=1tolong(sle_cs.text)yield()ifnotisvalid(w_1)thenexitst_nums.text=string(j)//未创建webservice连接则创建(ws为窗口实例变量)ifnotisvalid(ws)then ws=Createoleobject i=ws.ConnectToNewObject("MSSOAP.SoapCli
5、ent30") ifi<>0then destroyws messagebox('提示','请检查是否安装了SoapSDK3.0和XML4.0',exclamation!) return endif ws.ClientProperty("ServerHTTPRequest",true) ls_wsdl=profilestring("soap.ini","soap","url","") ws.mssoapinit(ls_wsdl) ws.ConnectorProperty("Timeout",180000)endif//webservice方法中每次连接
6、数据库且用完即断开st_dbhandle.text=ws.of_getdbhandle()//webservice方法连接数据库时的dbhandle()//st_dbhandle.text=ws.of_adder()//从sysmaster库中查看webservice中每次连接是否都释放了,SessionID是否保持一个//myvpc为webservice所在主机名(web服务器主机名)selectcount(*)into:numsfromsyssessionswherehostname='myvpc'usingsqlca;ifnotisvalid(w_1)thenexitifsqlca
7、.sqlcode=0then st_nums_dq.text=string(nums)//循环第j次时连接数据库的sid数 iflong(st_nums_min.text)>numsthenst_nums_min.text=string(nums) iflong(st_nums_max.text)
此文档下载收益归作者所有