登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

论坛系统ThinkSNS+ 性能概述 [复制链接]

2019-6-4 16:35
ThinkSNS 阅读:62 评论:0 赞:0

概述

        本文主要描述ThinkSNS Plus服务端系统性能、服务端高性能部署方案及优化措施、服务端系统持续优化及升级策略。本文未涉及前端(PC站点、H5站点、AndroidIOS)性能方案。

系统吞吐量

        压测的服务器为一台阿里云ECS服务器,服务器配置为2vCPU/4GB/5Mbps/普通云盘200G。安装thinksns plus后给数据库添加了少量数据,保证每个接口都是有数据的状态;然后在服务器本地压测一些常用的数据读取接口,压测结果吞吐量为30QPS左右。

        30QPS是指系统在每秒可?#28304;?#29702;30个请求,一天有86400秒,算下来一天可?#28304;?#29702;约260万个请求;根据thinksns plus移动端统计,平均每页面3个请求,假设用户每日平均访问50个页面,计算结果为支持1.7万左右的日活用户(日活用户不是注册会员数量)。当然,这样计算出来的结果是不准确的,计算中没有考虑峰值和其他因素,需要根据实际业务做分析。

系统部署和优化

系统和基础软件优化

        优化系统和基础软件(nginxmysqlphp等)能让系统支持更多的连接数和请求,并?#20197;?#34892;起来更稳定。具体的优化项根据不同的系统环境和业务需求,自行百?#28982;?#35895;歌上面有非常多的优化?#22363;蹋?#19981;在一一列举。

ThinkSNS Plus部署优化

1. 使用php7php7较之前的php5版本性能提升一倍以上。

2. 开启PHP OPcache,生产环境应该开启OPcache,性能会有巨大提升。

3. 关闭调?#38405;?#24335;,.env文件中,APP_DEBUG设置为false;可减少程序逻辑处理。

4. 配置信息缓存 php artisan config:cache,缓存配置文件,减少磁盘IO

5. 路由缓存 php artisan route:cache,缓存路由文件,减少磁盘IO

6. 自动加载优化 composer dumpautoload,优化自动加载。

7. 配置并使用 redis /memcached来存储会话,从内存中读取会话信息没有磁盘IO

8. 配置并使用 redis /memcached来存储缓存数据,从内存中读取缓存数据没有磁盘IO

9. 将程序和数据安装到SSD磁盘;以阿里云ECS云盘为例:SSD云盘16000IOPS+,而所谓的高效云盘不过3000IOPSSSD云盘效率是高效云盘的五倍以上。

10. 采用独立的数据库服务器或采用云数据库如阿里云:RDS

11. 采用独立的缓存服务器或采用云缓存系统。

12. 使用CDN加速?#35745;?#35270;频、文件的访问和下载。

13. ?#20197;?#21333;独的磁盘用于存储?#35745;?#35270;频和其他用户上传的文件。

以上优化项#7~#13都不是必须的,但是建议都进行配置或选择性配置。按要求优化以上内容之后,整体性能可以提高一倍以上。

分?#38469;?#37096;署

        分?#38469;?#37096;署为解决更大的业务需求,如更大的请求峰值、数据库读写性能瓶?#20445;?#32593;络带宽瓶颈等;目标为建立高可用性系统,单点?#25910;?#19981;影响系统服务。目前thinksns plus支持的分?#38469;?#37096;署方案如下:

应用程序负载均衡,多台服务器部署thinksns plus系统,通过负载均衡器转发请求到部署的服务器。thinsns plus 无需任何配置,但是要将会话数据、缓存数据、用户上传文件单独部署,也就是上面“thinksns plus 部署优化中的#7#8#10#13

数据库读写分离,安装好数据库之后,只需在简单配置即可支持,?#37096;?#20197;使用云数据库做读写分离。

分?#38469;交?#23384;系统,搭建好分?#38469;交?#23384;服务器后仅需简单配置即可支持,?#37096;?#20197;采用兼容redis协议的云缓存系统。

分?#38469;?#25991;件系统(目?#23433;?#25903;持,已列入计划,之后会支持云存储)

系统优化和升级

        以上提及的各种优化部署策略,部分都是建立在增加服务器的基础上提升系统的处理能力,并未涉及到系统程序的优化,那是不是程序优化就不重要了?

        当然不是,在业务初期,增加服务器可以快速扩容系统处理能力,而且也是性价比最高的方式;假如聘一个人专门优化程序,一年10万薪资,那这个人一年能提高程序的一倍性能也是很不错了,但这十万要是花在服务器上面,性能可能立即提高10倍。

        而且,thinksns plus产品研发团?#29992;?#22825;都在优化和改进产品,每次版本迭代,已安装的thinksns plus程序都可以通过自动或手动的方式合并最新的特性,这其中有很多特性就是针对于性能的优化。保持更新不间断,已安装的thinksns plus程序性能也将越来越好。

 

免费体验:thinksns.com/experience.html

APP端体验,下载新版本的朋友们,请先卸载老版本,否则无法使用;iphone?#21482;?#23433;装demo前请点击设置-通用-设备管理-信任(企业应用)

分享到:
我来说两句
facelist
您需要登录后才可以评论 登录 | 立即注册
所有评论(0)

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|下载客户端|申请友链|?#21482;?#29256;|站点统计|安卓巴士 ( 粤ICP备15117877号 )

返回顶部
拳皇命运一共48集
重庆时时彩开奖历史记录 守财奴电子游艺 疯狂麻将返水 黑豹之月在线客服 丛林快讯APP 港式五张玩法介绍 开心农场简介 广东快乐十分计划 pk10如何将100玩到一万 江西福彩15选5走势图