由于本人身处第三级城市。无法接触到比较牛逼的公司或者环境,以下正是网站环境摸了度娘好几遍,搭建完成,测试下已寻求提升空间。也希望自己能配置出能满足公司需要的网站运行环境,不能因为我这边的瓶颈而阻碍了公司进行,希望各位大能能不吝惜指点下谢谢。
1.阿里云云服务器ecs配置如下4核8G内存 10M带宽
2.php运行环境
Tengine-2.0.3 +php-fpm*4
一个nginx主进程 一个server主站
5个php-fpm进程 (4个负载均衡 1个备用)
3.程序优化
js/css 压缩压面缓存功能已做,可正式运行开启该功能
首次请求页面2个css 4-5个js 2个必须js随页面同步请求,其他js基本异步加载 再次请求304 or 200 form cache处理 公共js基本200 formcache /304
页面静态缓存已做视情况可开启
4.测试结果
服务器并发量 压力测试并发100通过 200出现少量404错误 压力测试环境由于无法获取seeion 导致城市无法获取区域缓存无法调取,生产80%的无效数据查询
sigine 测试结果如下:
ransactions: 15000 hits 请求数量
Availability: 100.00 % 成功率
Elapsed time: 206.74 secs 耗时
Data transferred: 67.64 MB 总请求量
Response time: 3.02 secs 平均耗时
Transaction rate: 72.55 trans/sec
Throughput: 0.33 MB/sec
Concurrency: 219.33 并发量
Successful transactions: 13577 成功 1000多个404页面都是数据库链接不足导致
Failed transactions: 0
Longest transaction: 11.61 最长耗时
Shortest transaction: 0.06 最短耗时
内存50% 4核cpu 90% 带宽流量 入网1M 出网800k
5.结果诊断
1.nginx并发处理能力满足,目前1台,后期可视情况增加服务器 负载均衡
2.php-fpm满足,目前单服务器上运行4个php-fpm进程 同个nginx负载均衡 1个备用
3.数据库链接不足(目前最大链接数60/并发数ipo 150)(无效数据查询链接占大多数),ipo不足瓶颈,目前无需升级,待网站用户量上升,可以视情况提升数据库配置(阿里云RDS) 目前最低配置 60/150
4.PV = 并发连接数 * 统计时间 * web服务器数量/ 页面衍生连接次数 / http响应时间 / 因数
(100*3600*12*1/3/1/5=288000)28wPV 提升空间 增加负载均衡服务器数量 缩短衍生链接数,js/css 合并 通用页面缓存等
是否就是平均每天能负担得起至少20wpv?
6.求指点
希望有大能,大哥,大姐指定下:目前的服务器配置和测试结果是否相符?有无其他性能提升空间?或者能否指点下nginx或者其他一些配置上的优化?除了运行环境上的优化,硬件上的配置优化都希望能指点下,谢谢!!!