使用rds MYSQL(2核4G)做持久化,2台ECS做应用服务器(2核4G),1台 redis做缓存
ECS上部署webservice,soap的xml序列化,php+nusoap实现的,slb负载均衡4M带宽
现在从缓存redis调1000个数据点,一个数据点大约20字节
从发送请求到接收到1000个数据点,大约需要2秒 ,接收客户端直接用.net SOAP
请问这个性能正常么,如果希望缩短延时应该如何做
1 .NET SOAP客户端 向slb请求1000点数据
2 负载均衡指向ECS web service(php+nusoap ) soap
3 php 接收请求,向redis请求数据
4 php 打包数据并向序列化xml,通过webservice返回给.net soap客户端
5 .net soap 显示客户端
主要延时在第4步上
如果第四部如果php完成查询redis后,发空数据给soap客户端,延时非常低大概40ms
所以我认为不是内网数据库瓶颈,好像就是单纯webservice xml序列化后转发出去慢
我猜想是不是由于xml序列化的原因,还是centos或者apache配置的原因
centos安装时 都是用yum的,直接装apache以及php,所以版本有些低
还有没有使用json序列化可能导致数据包有些大
没有在公网上部署过,经验都是内网的,所以麻烦了
那个最后测试发现还是soap影响太大了 ,改成 restful了 ,呵呵