首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

高访问量高并发问题的一部分解决方案

缓存:一些不常变动的数据可使用缓存技术,如业务需求也可对缓存进行移除变更操作。采用空间换时间,提高用户问效率,同时也可减少数据库访问次数。一般缓存设置在1-5分钟即可,不要小瞧这几分钟,一般高峰期就是那么几分钟啦~~

sql:可以对数据库的查询语句进行优化,尽量不使用hibernate这些orm框架自带的做法,这样很耗时,复杂的查询尽量使用原生sql来写,一般还要对你的sql进行执行计划分析

索引:在访问频率极高的字段加入索引,注意索引对null是无效的,加入索引提高了查询速度,但是相对插入消耗的时间会增多,索引也是空间换时间的做法,加入索引越多,你的表就会越庞大,但是相对于现如今空间如白菜的年代,这点不值一提

报表统计:你的系统如果需要做统计那么建议使用定时器,每10分钟进行一次统计,报表统计对于一个系统是必须的,因为数据要么是缓慢增加缓慢减少,如果遇到数据跳水,那么对于排查系统问题很有帮助哦!

公共模块剥离:对于一些系统模块可以抽离出来,不跟业务系统混在一起,比如报表统计,图片服务,短信等,减少业务服务器的压力

负载均衡集群:使用负载分发客户端的访问连接,让每一台服务器合理利用

redis:对于并发比较高的数据可采用redis存储,因为redis的数据存放于内存存取速度非常快

分区:对于数据非常庞大的表可采用数据库分区,可提高查询速度

另外还有一些本人不熟的解决方案,比如当系统数据非常庞大的时候可以分多个数据库,比如系统模块存为一个数据库,业务模块存为另外一个数据库,这样就避免应用全面宕机;又比如分布式,当集群部署都出现访问卡顿的情况,就需要采用分布式了,例一个商城,可以分为用户服务,产品服务,订单服务,后台管理服务,数据分析等,每个服务都可以单独运行,每个服务直接通过内部机制进行通信

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428G1UP6G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券