Tuesday, December 26, 2006

新的客户端服务器端技术:Citrix

    项目遇到了巨大的性能问题,主要是网络方面的,从中国Ping美国一台Server需要256ms,而从美国Ping美国一台Server只需要5ms,这个问题的严重性直接导致了在中国的用户无法接受安装在美国Server上应用程序的反应速度。

 

无论是传统的CS架构还是BS架构,从服务器到客户端都有大量的数据在传输:一般就是客户端发送一个请求给服务器,然后服务器进行响应,最后把结果返回给客户端,这个应该是最典型的应用了。如果客户端和服务器端的网络不是很理想,那么大量的数据传输必然导致系统的性能无法接受,就我们测试的这个项目来看,10分钟跑4个业务,所产生的流量在10M以上。那么有没有什么方案可以避免这个传输呢?答案是肯定的,Citrix就是这个问题的解决方案。

 

Citrix是如何工作的呢?

 Citrix.JPG

是不是技术倒退到Terminal时代(终端用户),无盘工作站时代?原理上有点像,但是已经不尽然。Citrix就像一个软件平台,如果你用过VMWare或者VirtualPC就可以看到操作系统只是一个软件。Citrix也有客户端和服务器端,所有的软件都安装在服务器上,他的好处是显而易见的,例如,统一部署、版本控制、节省软件License、更加安全。Citrix最大的优点就是减少了服务器和客户端之间的网络流量,因为在操作过程中,机器之间只传递了鼠标、键盘操作和屏幕更新,没有任何的业务数据在客户端和服务器之间传递,就Citrix官方文件说,他们跟Microsoft合作在网络之间提供了一个安全的层,即使仅有的数据也采用了128位数据加密。

 

有一个客户案例说在服务器和客户端之间的Latency220ms的时候,使用了Citrix架构以后,性能提高了48倍。

有些缺点也是天生的:

l          如果没有网络,系统就根本无法工作。

l          尽管减少了网络之间的流量,但是现在的任何应用程序都是依赖于网络的,网络的速度是一个问题,Citrix只是在一定程度上解决了这个问题。

 

这个Citrix 的Metaframe 不是什么很新的技术,是Citrix公司在很早就开发的一个RDP协议上面的一个远程桌面软件,在WINDOWS上面运行,Metaframe是一定要安装WINDOWS的Terminal Server的服务的(TS 服务好像也是用的RDP协议喔)。其作用可以快速的把C/S的程序变成B/S的结构。其实 这种技术在国外用的比较多的。很多C/S的ERP系统,为了能够实现 Internet 的使用 常会使用这个软件来实现。
当然对于上面所说的打印100页的问题。其实 不管是什么 B/S 我想如果直要打印100页的话  服务器在美国,速度也不会非常快的啦  必竟有大量的数据要传输的。这个传输量是很难避免的。

至少Lic的价格,其实 是比较贵的。
首先说明我用的是Remote Desktop,不是Citrix,不过我想差别不会很大
Remote Desktop其他方面是无可挑剔的,只有打印的时候,会把传输数据量放大好几倍(跟本地打印相比),尤其是单据里面包含彩色Logo的情况
服务器端2MB的PDF单据,传递到本地打印机就成了20MB
当场把网络阻塞
想请教关于打印的问题,请多多指教!
我们使用citrix已经3,4年了,但是打印问题一直没有解决,citrix的版本是metaframe fr2,我们客户端的打印机都是共享打印机,总是没办法打印,或者点了打印没反应,或者说打印到打印机出了一个错误,而此时,客户端本身是可以打印的,citrix服务器上也映射到了该客户端的打印机。
 

soft99
2006-12-26

0 Comments:

Post a Comment

<< Home