第一部分:LotServer介绍

1.1 LotServer是什么?

LotServer 是一款内嵌Zeta-TCP加速引擎的加速软件,可以安装运行在所有主流 Linux 版本和 Windows 操作系统版本的服务器,加速服务器的对外服务质量。LotServer 尤其适合具有较分散互联网用户访问的服务,能够显著提高距离服务器远,跨运营商访问服务器,和通过无线网络访问服务器的用户的体验,甚至将服务从原先的不可用变为可用。LotServer 内嵌的 Zeta-TCP 还可以增强连接的稳定性,显著降低访问失败率。

LotServer 通过加速用户访问连接,提高连接稳定性,全面提高应用服务质量,提升最终用户体验。

更详细信息,可以参照:http://www.appexnetworks.com.cn/products/lotserver.html


1.2 LotServer的加速原理是什么?

LotServer安装到服务器上,对于从服务器到访问服务器的用户的流量,会起到最好的加速效果;而对于从用户到服务器的流量,加速效果会不稳定甚至没有加速效果(但不会比没安装LotServer之前慢)。

LotServer 本质是一个实现了Zeta-TCP的软件模块,运行在操作系统内核,相对于传统的TCP,Zeta-TCP主要对以下三个方面进行改进:

第一, Zeta-TCP 引入了更精确的丢包判断及预测算法。传统TCP 经常错误判断丢包。将未丢的数据包判断为丢失将导致错误的重传,从而造成带宽的浪费。反之,如果不能及时判断确实已丢失的数据包,将导致不必要的等待,从而导致带宽空置。两种误判都会降低连接的吞吐率和带宽的利用率。Zeta-TCP加速引擎能够精确及时地判断丢包,从而保证了最佳的带宽利用率。

第二, Zeta-TCP 随时精确侦测连接路径带宽,并相应调整发送数据量。TCP 协议通过滑动窗口机制对带宽进行自适应。传统TCP 的滑动窗口实现经常误判路径带宽容量。高估带宽容量将导致过量传输从而引发拥塞并导致大量丢包。低估带宽容量则导致闲置带宽容量。两个极端的出现都将导致带宽利用率的下降。传统TCP 往往在两个极端之间震荡,很难有效利用带宽。Zeta-TCP 在主动精确侦测路径带宽的基础上,随时调整发送数据量,从而在防止引入拥塞的同时最大限度地利用路径带宽。

第三, Zeta-TCP 监控学习连接对端的传输行为,并根据其发送模式智能反馈引导对端正确判断丢包及准确估算路径带宽,从而大幅提升下载方向带宽利用率。对比于传统TCP 被动确认及接受数据,Zeta-TCP 反向智能遥控对端的传输行为,实现了业界独一无二的单边下载加速。

除了以上三点主要突破性技术手段,Zeta-TCP 在很多其它方面也对传统TCP 进行了细致的改进和完善。经过多年在各种真实网络环境中的不断调整改进,单边TCP 加速具备了广泛的适用性和有效性。

更加详细的信息,可以参照Zeta-TCP详细介绍及技术白皮书:

http://www.appexnetworks.com.cn/technology/zetatcp.html
http://www.appexnetworks.com.cn/products/white-papers/Zeta-TCP.pdf

第二部分:LotServer怎样试用

2.1. 我从哪里开始试用LotServer?

可以从以下入口开始试用LotServer:

1) 访问华夏创新网站:http://www.appexnetworks.com.cn,在页面右上方有LotServer试用链接

2) 通过华夏创新网站:http://www.appexnetworks.com.cn/products/lotserver.html,在页面下方有LotServer试用链接

3) 直接访问试用网站:http://lotserver.cn

最终试用请求都会被转到http://lotserver.cn处理


2.2 LotServer 提供哪些版本?

Linux 版本,支持CentOS, Redhat Enterprise的绝大多数版本,同时也支持ubuntu,SUSE的部分版本。

详细列表,参照 http://lotserver.cn/ls.do?m=availables

LotServer Windows 支持 Windows XP / 2003 / Vista / 2008 / 7。


2.3 我的服务器操作系统不被支持怎么办?

由于LotServer在Linux操作系统下是一个内核模块,与操作系统版本,gcc版本和内核具体配置都相关,所以如果您的服务器操作系统不被支持,可以通过提交您操作系统的相关信息,AppEx将根据您提交的操作系统相关信息来判断您的操作系统是否可以支持以及支持所花费的周期(一般情况下,Linux的操作系统都可以在不超过2周的时间内支持)

您可以通过以下链接提交服务器信息:http://lotserver.cn/w.do?m=lf

原则上目前只支持安装了Linux和windows 操作系统的服务器,如果您的服务器安装了其它操作系统(例如AIX, Solaris等),AppEx可能需要更长的时间和更多的信息来进行支持。


2.4 我可以试用多长时间?装多少台服务器?

默认情况下,您可以使用1周(从账号注册之日起),在这1周内,您可以在6台服务器上进行试用。


2.5 试用过期后,如果我想继续试用怎么办?

试用到期后,您如果由于某些原因想继续试用,则可以通过网络直接申请延期。申请延期时,需要填写目前的试用情况,申请延期理由及延期时间,后台管理员将根据实际情况进行审核(可能通过电话或邮件方式直接与您联系),经批准后,重新下载并安装LotServer即可。


2.6 我安装或使用中遇到问题改怎么办?

首先,请您参照第四部分:常见问题部分来自行尝试解决问题。如果还不能解决问题,您可以联系我们的技术支持。

推荐通过网络进行技术支持,因为网络可以有更加丰富的交互手段,您可以在 http://www.appexnetworks.com.cn/products/lotserver.html看到我们的技术支持QQ,选择在线的QQ进行咨询和支持。

您也可以通过电话联系我们,电话是62373737(多线)。


2.7 试用LotServer是否复杂?有多少步骤?

LotServer试用根据安装方式的不同,最多有四个步骤:

1 自动安装模式

  • 1) 注册用户信息
  • 2) 下载安装文件
  • 3) 在服务器上安装LotServer软件

2 手动安装模式

  • 1) 注册用户信息
  • 2) 提交服务器信息
  • 3) 下载安装文件
  • 4) 在服务器上安装LotServer软件

2.8 怎样注册用户

您可以通过http://lotserver.cn 右上角的“登陆/注册”链接直接注册。完成注册后,您就可以采用注册时的邮箱和设定的密码进行登陆。


第三部分:LotServer的安装使用

3.1 如何安装LotServer?

通过LotServer发布系统,我们为您提供两种安装方式,自动安装和手动安装;两种安装均需由具有root权限的用户进行操作;

1. 采用自动安装方式进行安装

自动安装是最方便的安装方式,也是推荐使用的方法。登陆系统后,选择“自动安装”,就可以下载安装程序进行安装。

具体安装步骤可以参照页面说明: http://lotserver.cn/w.do?m=lotServerLinux

安装完成后,安装程序会给出相应的安装结果提示;一般有如下三种情况:

1) 成功安装,LotServer运行所需的文件被成功安装到服务器上;

2) 自动安装程序未找到与您的服务器相匹配的LotServer版本;程序会在给出相应的提示后退出;

3) 您所使用的安装账户的授权次数已到;安装程序会在给出相应的提示后退出;


2. 采用手动安装方式进行安装

当您的服务器由于各种原因(例如安全的原因)无法访问互联网时,可以采用手动方式安装。

具体安装步骤可以参照页面说明:

http://lotserver.cn/w.do?m=lotServerLinuxManual


3.2 如何使用LotServer?

1. 目录及文件说明

安装成功后,安装程序会在您的服务器文件系统的根目录下面创建一个/appex目录,下面包含bin、etc和log三个子目录;各目录及文件的说明如下:

名称 类型 说明
/appex: 目录 安装成功后,安装程序会自动在服务器文件系统的根目录下面创建该目录;该目录用于存放与LotServer相关的各文件;
/appex/bin/ 目录 用于存放LotServer模块文件及执行脚本;
/appex/bin/acce-xxx 文件 LotServer模块文件;
/appex/bin/lotServer.sh 文件 用于启动LotServer的脚本文件;
/appex/etc/ 目录 用于存放LotServer授权文件及其参数配置文件;
/appex/etc/apx-xxx.lic 文件 LotServer授权文件;
/appex/etc/config 文件 LotServer配置文件;
/appex/log/ 目录 用于存放LotServer运行过程中可能需要抓取的一些用于问题调试的log文件;


2. 常用配置参数说明

您可通过修改/appex/etc/config文件来为LotServer模块配置不同的功能参数;各常用参数的说明如下:

accif="eth*"

加速接口;eth*一般为服务器上对外提供服务的网络接口,例如eth0, eth1…,一般通过ifconfig命令可以看到;可以同时设定多个接口作为加速接口(接口之间用空格分开),如accif="eth0 eth1";

acc=”1”

TCP加速开关;设为1表示开启模块的tcp加速功能,设为0表示关闭模块的tcp加速功能;

advacc=”1”

高级加速开关;设为1表示开启,设为0表示关闭;开启此功能可以得到更好的加速效果,但有可能会造成有效数据率下降;

csvmode=”1”

拥塞控制模式开关;设为1表示开启,设为0表示关闭;开启tcp加速后,在某些丢包较大的网络中可能会造成有效数据率下降的问题;此时开启拥塞控制模式,可以有效避免该问题;但开启此选项时,可能加速效果也会下降;

wankbps="1000000"

加速接口上行带宽;指的是从服务器流出到Internet的最大带宽,单位为Kbps,例如服务器所连接的Internet带宽为1G,则设置为1000000;

waninkbps="1000000"

加速接口下行带宽;指的是从Internet流入服务器的最大带宽,单位为Kbps,例如服务器所连接的Internet带宽为1G,则设置为1000000;

wankbps和waninkbps的设置一般与实际带宽相同为最理想;如果无法确定最大带宽,一般设置为网卡的最大吞吐能力即可;例如网卡为千兆全双工网卡,则wankbps和waninkbps都设置为1000000;当设置过小时,例如实际带宽有100Mbps,但wankbps和waninkbps设置为10M,则数据流量会被限制在10Mbps以内,此时会降低服务器的吞吐;

apxexe=" /appex/bin/acce-***"

LotServer模块文件的路径;

apxlic="/appex/etc/apx-***.lic"

LotServer授权文件的路径;


3. 运行LotServer

启动LotServer:/appex/bin/lotServer.sh start;加载LotServer模块,使用/appex/etc/config文件中的配置作为LotServer的初始化参数;

停止LotServer:/appex/bin/lotServer.sh stop;卸载加速模块;卸载前请确认没有其它进程在访问/proc/net/appex/目录,例如确认控制台当前目录是否是/proc/net/appex/;

实时修改LotServer参数:/appex/bin/lotServer.sh reload;修改/appex/etc/config文件中的配置后运行此命令,此时模块不退出,参数被实时修改;

注:运行LotServer前请务必确认加速接口的tso (tcp segmentation offload)和gso (generic segmentation offload)功能处于关闭状态!!!如果在tso或gso处于开启状态的情况下运行Lotserver的话,会导致加速模块无法取到数据包,进而导致网络中断。您可以通过ethtool –k eth* 来查看tso 或gso的当前状态,通过ethtool -K eth* tso off或ethtool -K eth* gso off命令来关闭加速接口的tso和gso功能;对于bonding性质的接口,需关闭组成该接口的所有eth口的tso和gso;使用lotServer.sh脚本启动LotServer时会首先调用ethtool工具来关闭tso和gso,如果ethtool工具调用失败,则将停止加载LotServer。


3.3 如何卸载LotServer?

在确保LotServer没有运行的情况下,您可以通过两种方式来卸载LotServer:

1. 使用安装脚本的卸载功能卸载LotServer,如:./lotServerInstaller.sh uninstall;

2. 通过简单的删除操作,如’rm -rf /appex/’,即可将LotServer完全卸载;

第四部分:常见问题

4.1 自动安装脚本都会向LotServer发布服务器回送哪些信息?

采用自动安装时,在通过LotServer发布服务器的用户验证后,自动安装脚本会向LotServer发布服务器回送如下信息:

1) 用于授权控制的序列号;

序列号与您的服务器绑定,每个服务器都会有一个唯一不重复的序列号;

2) 您的服务器上面所安装的Linux系统名称及版本号;

如CentOS 5.2,Red Hat 5.6,Ubuntu9.10等;

3) 您的服务器上面所安装的Linux系统的内核版本;

如Red Hat 5.6标准版的内核版本2.6.18-238.el5;

4) 您的服务器上面所安装的Linux系统的寻址位数;

如32位,64位等;

除了以上信息外,自动安装脚本不会向LotServer发布服务器回送任何其它信息。


4.2 为什么有时候自动安装会失败?

可能的原因有:

1) 您所使用的用户不具备root权限;

2) 您的服务器无法正常连接互联网;

3) 您所提供的安装帐号和密码有误;

4) 您所提供的安装帐号所能安装的服务器的台数已达上限;

5) 某些网络安全相关的设备或配置导致安装失败;


4.3 为什么有时候手动安装会失败?

可能的原因有:

1) 您所使用的用户不具备root权限;

2) 您下载的手动安装文件已损坏;

3) 您的服务器上面某些安全相关的配置导致安装失败;


4.4 共享内存设置导致LotServer无法运行

如果 LotServer 安装时输出:

LotServer needs to use shared memory...

或运行时,报以下错误:

shmget: Invalid argument
...............
Loading LotServer failed!

则一般是因为系统共享内存设置为0的原因,可以通过”ipcs -l”命令来查看,如果看到以下结果:

#ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 0
max total shared memory (kbytes) = 0
min seg size (bytes) = 1

标识为红色的两行表示总共享内存和最大共享内存都是0,因为LotServer启动时需要一定的共享内存,所以需要修改一下共享内存与 max seg sizemax total shared memory 的相关配置,通过 /proc/sys/kernel/shmall/proc/sys/kernel/shmmax 来直接进行修改;

shmall 的值设置可以设置为268435456(可以根据实际情况调整);

shmmax 的值设置为 4294966272(可以根据实际情况调整);

注:

1) 如果要暂时生效,可以通过echo 命令直接设置;如果要永久生效,最好在sysctl.conf中设置kernel.shmall和kernel.shmmax的值;

2) SHMALL controls the total amount of shared memory (in pages) that can be used at one time on the system; SHMMAX is used to define the maximum size (in bytes) for a shared memory segment. the larger it is, the better Caché performance will be.


4.5 如何确定LotServer已成功安装?

通过查看相应的目录及文件是否被存在来确认是否成功安装;文件及目录详见“3.2 如何使用LotServer?”;


4.6 如何确定LotServer已成功运行?

通过lsmod查看是否有appex0的模块被加载来确认LotServer是否在正常运行;

通过查看/proc/net/appex/stats文件来确认LotServer是否在正常运行;


4.7 LotServer会消耗多少服务器的性能?

一般情况下,LotServer占用的内存小于200M bytes,每个CPU(对于多核CPU来说)的占用小于10%


4.8 我已经成功运行LotServer,但是并没有看到明显的优化效果?

可能的原因有:

1) 没有为LotServer指定正确的加速接口;

2) 您用来测试优化效果的测试机与您的服务器之间的网络状况十分良好,导致加速前后的变化不明显;

3) 您的服务器的网络出口带宽已被用尽,导致加速前后的变化不明显;

4) 您的服务器所提供的服务使用非tcp协议进行数据传输;

5) 您的服务器所提供服务的响应速度的瓶颈不在于网络传输部分而在于后台的数据处理部分;


4.9 运行LotServer后,为什么我的服务器的吞吐有所下降?

可能的原因有:

1) 您为LotServer设置的上行和下行带宽小于服务器的实际网络带宽;

2) 加载LotServer前您的服务器已接近满负荷;


4.10 万一出现死机该怎么处理?

LotServer 在长期大量的实际使用中证明极其稳定。万一出现了死机情况时, 需要将系统死机时的系统日志输出收集,一种典型的Console输出如下所示:

当出现死机,并且Console输出包括”appex”字样时,一般是由于LotServer引起,此时需要将Console输出给AppEx,AppEx会根据输出查找原因并进行修正;


4.11 运行LotServer后,发现系统有时候出现一些异常现象;这种情况该怎么处理?

请查看系统日志(通过dmesg或logread等命令),如果系统日志中出现与appex相关的字样,则一般是由于LotServer加速模块引起,如下图所示:


4.12 使用脚本运行LotServer后,发现LotServer开始已经成功运行起来,但是很短一段时间后就自动退出了;

如果出现运行/appex/bin/lotServer.sh start 无任何异常输出(异常输出可以通过dmesg/logread等命令查看),但通过lsmod |grep appex发现一开始appex模块存在,而过几秒钟(通常小于10s)后,发现模块消失,则一般的原因是License的问题,需要更新.lic文件;


4.13 启动LotServer后,发现在tcp加速开启的情况下会出现网络中断;

请确认加速接口的tso (tcp segmentation offload)和gso (generic segmentation offload)功能是否已关闭;当tso或gso开启时,会导致加速模块无法取到数据包,导致网络中断;您可以通过ethtool –k eth* tso 或gso 是否处于开启状态,通过ethtool -K eth* tso off或ethtool -K eth* gso off来关闭tso或gso;对于bonding性质的接口,由于ethtool无法直接对此类性质的接口做操作,此时可通过关闭组成该接口的所有eth口的tso和gso来完成此配置;如果ethtool命令不存在,请先安装此命令;


4.14启动LotServer后,发现我的服务器的内存占用很高,甚至被用满;

当出现内存用满的问题后,需要查看/proc/slabinfo的相关信息,并将相关信息提交给我们;


更多其他问题,请告知我们 lotserver@appexnetworks.com