• 微网站活动中的项目优化总结


      因为公司做过一个微投票的组件,在早期前辈的设计下采用数据库外键限制,代码中循环处理的方式,本次活动从功能上受到一些限制,再加上参与活动的人员过多,候选人已经达到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端需要的功能,让大部分功能在客户端完成,避免服务器压力

  • 相关阅读:
    计数排序【代码】
    快速排序【代码】
    基于最大堆实现最大优先队列
    Spring入门(1)
    AJAX初步理解
    选择器
    Hibernate的映射
    Hibernate配置(2)
    查看mysql的安装路径
    Hibernate入门(1)
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/5571440.html
Copyright © 2020-2023  润新知