thinkphp3.23开发的网站关于并发量大的优化有哪些?

我用thinkphp3.23开发一个成绩查询系统(收费查询且依附于微信),平时访问一般是不大,但是成绩公布那一刻访问量超大,至少某个时间内至少出现5k-10k人的访问(3分钟之内),我当时做的方案是:1、将运行环境和mysql环境分开独立一个服务器,增加带宽,升级配置。2、数据库关键字段增加索引。3、网站的css和js文件压缩等等操作;

将会往下操作的是:在原来的基础上再增加redis缓存技术,除了上面那些操作,你们还有哪些更好的优化请提出来?

阅读 7k
9 个回答

按你说的,我算了一下,你的最高访问量也就是每秒56个。这个访问量也不算很高。如果说优化的话,先要找到性能的瓶颈到底在哪里,然后对症下药。空洞的说读写分离,缓存服务器,没有意义。或许问题只是你的一个sql语句写的有问题。

1.頁面靜態化。
2.css和js這些靜態文件最好用cdn加速。
3.將圖片這些大容量文件全掛雲端。
4.你都用redis保存成績,那在並發上就沒啥問題。除非你要記錄用戶查詢行為,那樣就先保存到redis,在服務器寫個crontab,在閒時將redis數據再保存到數據庫

主要是存在抢占队列哪里,你都用了redis拉,那我觉得要不在搞个好点的服务器,配个cdn这应该是极限了把,在出问题就应该审查代码了

该做的优化已经做得差不多了。其实可以做一点人工的干预。比如,采用积分系统,对积分低的用户降权。一方面加强用户粘性,一方面有所排列让系统并发量减少。

做静态化,比如网站半晚生成成绩页面。如果人数有几十万很多,即使能静态化一般的页面,瞬间数据库的压力也会减少很多

redis+页面静态化 其他都做的差不多啦

mysql的query_cache打开,吞吐量至少提高5倍。

这么明显的优化都没人提?

页面静态化挺好,提前把页面生成好,然后每个用户指定到一个页面。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题