2014年5月25日星期日

DataSnap的Session

DataSnap的内存管理,太依赖于客户端发来的command,这实在是很糟糕的设计,也是DataSnap被人诟病最多的地方了:DataSnap只是玩具,没法用来做实际应用。

假设网络状况不好,或者客户端死了,比如reader_close, command_close这些命令没法传递到服务器上,也或者这些命令传递到服务器上缺丢了字节,解析失败等。DataSnap的框架目前没考虑到这些,至少目前我还没找到代码在处理这些。这些垃圾就被永远留在了服务器的内存里了。SessionTimeOut?那个不起作用的了。

吹嘘了N年,仍然没啥进步,对于24*7的服务器,内存一直飙升,最后爆表,玩完。

没有评论:

发表评论