delphi xe3 的datasnap 性能和稳定性真的这么差吗?
有个应用要做成分布式的,客户端数目500左右。
尝试用XE3的 Datasnap 开发应用服务器,后台数据库sql 2008.
测试说明:
1、服务器架在局域网的一台 dell 小型服务器上。
2、客户端测试程序 Test.exe ,就一个按钮:
SQLConnection1.DriverName := 'DataSnap';
SQLConnection1.Params.Clear;
SQLConnection1.Params.Values['CommunicationProtocol'] := cbbProtocol.Text;
SQLConnection1.Params.Values['HostName'] := cbbHostName.Text;
SQLConnection1.Params.Values['UserName'] := '';
SQLConnection1.Params.Values['Password'] := '';
SQLConnection1.Params.Values['Port'] := editPort.Text;
for i := 1 to 100 do
begin
SQLConnection1.Open;
ClientDataSet1.Close;
ClientDataSet1.DataRequest(MemoSql.Text);
ClientDataSet1.Open;
SQLConnection1.Close;
end;
sql语句执行的结果是取得 3600 条数据,字段数 8 个。单个客户端执行的话没有问题,同时启动300个客户端的时候,很难稳定执行。要么,拒绝连接,要么 Login 超时,要么直接服务器内部错误,一旦出现内部错误,客户端就再也连接不上了。服务器端的 PoolSize 已经设置为 1200 了。
我的意思是,服务器可以很忙,可以让客户端程序等待,但是绝对不能出现错误,我之前用过C#的 Remoting 和 WCF 做过类似测试,很稳定。
有哪位用过 Delphi 2010 版本以后的 Datasnap,出来指点一下。