zoukankan      html  css  js  c++  java
  • xe2 datasnap测试后的一些确认

    1.TCP/IP心跳包,XE2 DATASNAP本身已内置,设置几个属性就可以,这个经过了测试。不再需要像DELPHI 2010 DATASNAP那样要自己写代码来处理。

    2.XE2 DATASNAP内置的线程池是使用的INDY10的线程池。INDY10是阻塞+多线程的通讯控件。实际测试当中发现DATASNAP是一个客户连接对应一个线程,

    一直到客户连接断开线程才归还线程池中,就算一个客户连接以后啥事也不干,也要一直地占用服务端一个线程对象。有多少个连接客户,服务端就要开启多少个

    线程。如果客户数量比较多的话,这样是很没有效率的。开启的线程较多,CPU的时间都花在线程的上下文切换上面。所以在大量并发连接的时候,还是首选完成端口。

    3.DATASNAP的线程池满了以后,新开的客户是连接不上服务器的。这时客户的鼠标一直呈等待状态,不会弹出任何提示信息,如果此时有客户关闭连接,

    那么处于等待状态的客户就会自动连接上服务器。所以设置了线程池的MaxThreads属性以后也就设定了最多的并发连接数量。

    4.实际测试当中,开四百个左右的客户端,每个客户端随机地每隔一秒钟向服务器发出(查询、新增、修改、提交)请求,长时间运行以后,应用服务器仍然健壮地

    运行,顶不住的是SQL SERVER 2000数据库服务器,会报等待处理的队列过长的错误,SQL SERVER 2000数据库自动暂停服务,需要手工启动以后才能运行。

    这说明,真正大量并发的(查询、新增、修改、提交)操作数据的事件会导致数据库当机。对于企业应用来说真正需要处理的是数据,对于企业应用架构来说,要

    考虑的不仅仅是中间层应用服务器,还有数据库服务器的承受能力。

  • 相关阅读:
    将博客搬至CSDN
    一种全新的屏幕适配方法 自动百分比适配 一切px说了算
    一些精品开源代码
    Android View 事件分发机制 源码解析 (上)
    Android 高清加载巨图方案 拒绝压缩图片
    Android EventBus实战 没听过你就out了
    Markdown 11种基本语法
    JavaScript 语言基础知识点总结(思维导图)
    隐藏滚动条 支持Chrome, IE (6+), Firefox, Opera, and Safari
    (function(){})(this)
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/2557793.html
Copyright © 2011-2022 走看看