由于本人身处第三级城市。无法接触到比较牛逼的公司或者环境,以下正是网站环境摸了度娘好几遍,搭建完成,测试下已寻求提升空间。也希望自己能配置出能满足公司需要的网站运行环境,不能因为我这边的瓶颈而阻碍了公司进行,希望各位大能能不吝惜指点下谢谢。
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或者其他一些配置上的优化?除了运行环境上的优化,硬件上的配置优化都希望能指点下,谢谢!!!

负载均衡会影响会话管理,但可以通过会话复制、会话粘性和集中式会话存储解决。1.会话复制在服务器间复制会话数据。2.会话粘性将用户请求定向到同一服务器。3.集中式会话存储使用独立服务器如Redis存储会话数据,确保数据共享。

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHP会话的替代方案包括Cookies、Token-basedAuthentication、Database-basedSessions和Redis/Memcached。1.Cookies通过在客户端存储数据来管理会话,简单但安全性低。2.Token-basedAuthentication使用令牌验证用户,安全性高但需额外逻辑。3.Database-basedSessions将数据存储在数据库中,扩展性好但可能影响性能。4.Redis/Memcached使用分布式缓存提高性能和扩展性,但需额外配

Sessionhijacking是指攻击者通过获取用户的sessionID来冒充用户。防范方法包括:1)使用HTTPS加密通信;2)验证sessionID的来源;3)使用安全的sessionID生成算法;4)定期更新sessionID。

本文比较了PHP和ASP.NET,重点是它们对大规模Web应用程序,性能差异和安全功能的适用性。两者对于大型项目都是可行的,但是PHP是开源和无关的,而ASP.NET,


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器