之前项目所建设的应用系统由于下级反馈访问速度慢甚至页面打不开,所以新加了一台硬件负载均衡设备(应用交付ADC)来提高应用访问的速度,然后发现原有应用地址迁移到新增的硬件ADC设备地址后发现访!问!不!了!而且内网访问没问题,外网通过SSL VPN访问就偏偏不给力! 由于机房是租用来的,而且内网环境非常复杂,排错之路就这样慢慢开始了……
先描述下大致的系统框架:
基于网络的安全性考虑,所有外网用户若要使用内网应用则需要通过深信服SSL VPN来进行安全访问。 原有的软件负载均衡Redis由于一段时间的试用后发现性能不行,访问人数一多页面就卡顿甚至无法打开,造成下级业务工作收到了极大的影响,反响强烈! 所以选购了一台硬件ADC。
但是发现ADC上架后有同样的问题:大量用户访问的情况下系统页面同样打不开,系统访问起来速度并没有任何提升!
遂咨询软件厂商确认软件的并发性能,结果得到答复:原因是内网多个Tomcat服务器使用了共享磁盘,而共享磁盘通过Linux nfs来实现,而nfs依赖于内网的IP网络,性能较低,所以在大用户量访问的情况下nfs吞吐量遇到瓶颈,导致系统整体性能下降。 在得知此答复后非常气愤,因为据我所知在系统试用期间通过SSL VPN后台所监测到的整个数据中心机房出口带宽最大也才4MB/s左右。
而整个系统的内部是万兆网络环境,并且测试的nfs大文件读取速率在790MB/s左右,大文件的写入速率也在90MB/s左右,所以在没有内网用户的情况下(即全部访问流量均来自外网SSL VPN)软件厂商的答复纯粹是在推!脱!责!任!
好吧,多次协商后无果,那就硬着头皮查原因吧……
排除软件系统吞吐性能过低的情况下,我们将问题定位到了SSL VPN到ADC之间的链路。 会不会是因为ADC设备的IP地址与原有地址冲突且原地址防ping?!然后随即测试:发现内网直接访问无问题,SSL VPN使用PC替换后访问也无问题,但是唯独使用SSL VPN访问就会发现长ping在VPN设备刚上架的时候很流畅、很稳定,但是一段时间后就开始丢包,最后无法访问。所以IP地址冲突这种猜想是错误的。
随后协调机房运维一起排错,发现SSL VPN到ADC设备之间有一台抗DDOS系统……登陆后台发现抗DDOS系统在大访问量的情况下直接把ADC地址给屏蔽掉了!
W!T!F! 好吧果断加入白名单 世界终于安静了…… |