微网站活动中的项目优化总结
因为公司做过一个微投票的组件,在早期前辈的设计下采用数据库外键限制,代码中循环处理的方式,本次活动从功能上受到一些限制,再加上参与活动的人员过多,候选人已经达到2000多人,投票人更是达到20多万,让投票出现了比较高的并发,拖垮了服务器和数据库,让服务器宕机了!!!多么悲剧!哈哈哈。经过总结,现在提出了如下几个方案
1.从服务器上考虑,图片压缩缩略图,设置缓存cache时间,设置nginx连接数,并发数
2.从php角度来讲,减少不必要的逻辑代码处理,增强php代码可维护性,可读性,考虑效率,内存,时间,空间等问题,找到处理时间长的短板,并优化它
3.从数据库方面考虑,减少表锁,增大冗余,定时清理和整理。如果能用云数据库尽量用云数据库,如果能用memcache redis尽量都用上,然后减少数据库交互查询,避免数据重复读取和写入。
4.从web访问层考虑,js css img能采用外部第三方库CDN就用CDN库 ,如果不能就采用自己的CDN并设置缓存和压缩等等,合并请求,让请求更少,减少nginx压力
5.从前后端配合考虑,可以拆分逻辑代码和静态数据,通过静态页ajax异步获取data的方式加载页面,让页面首先出轮廓,避免用户因为打不开页面而重复刷新 增大nginx压力
6.多用前端js完成需要的功能,来处理php端需要的功能,让大部分功能在客户端完成,避免服务器压力
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2015-06-08 根据分数返回等级代码实现方式