概述

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

系统吞吐量

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

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

系统部署和优化

系统和基础软件优化

优化系统和基础软件( nginx 、 mysql 、 php 等)能让系统支持更多的连接数和请求,并且运行起来更稳定。具体的优化项根据不同的系统环境和业务需求,自行百度或谷歌上面有非常多的优化教程,不在一一列举。

ThinkSNS Plus部署优化

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

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

3.  关闭调试模式, .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+ ,而所谓的高效云盘不过 3000IOPS ; SSD 云盘效率是高效云盘的五倍以上。

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

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

12.  使用 CDN 加速图片、视频、文件的访问和下载。

13.  挂载单独的磁盘用于存储图片、视频和其他用户上传的文件。

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

分布式部署

分布式部署为解决更大的业务需求,如更大的请求峰值、数据库读写性能瓶颈,网络带宽瓶颈等;目标为建立高可用性系统,单点故障不影响系统服务。目前 thinksns plus 支持的分布式部署方案如下:

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

l  数据库读写分离,安装好数据库之后,只需在简单配置即可支持,也可以使用云数据库做读写分离。

l  分布式缓存系统,搭建好分布式缓存服务器后仅需简单配置即可支持,也可以采用兼容 redis 协议的云缓存系统。

l  分布式文件系统(目前不支持,已列入计划,之后会支持云存储)

系统优化和升级

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

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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448874/viewspace-2641268/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31448874/viewspace-2641268/

社交系统ThinkSNS+ 性能简述相关推荐

  1. 重大通知:社交系统ThinkSNS+ 发布公告!

    2019独角兽企业重金招聘Python工程师标准>>> 重大通知!!! 社交系统ThinkSNS 最新版本ThinkSNS+将于7月15日正式发布开源版本web,同时发布Androi ...

  2. 【社交系统ThinkSNS+研发日记】Laravel Model 利用 Macroable 为数据模型添加宏能

    2019独角兽企业重金招聘Python工程师标准>>> 什么是ThinkSNS ? ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研 ...

  3. 社交系统ThinkSNS可以运营什么?可以应用于什么场景?

    2019独角兽企业重金招聘Python工程师标准>>> 简单点说,TS是一套功能丰富,含PC端.Android APP.iOS APP.H5.微信端全平台的系统,主打社交系统,但是T ...

  4. 开源社交系统ThinkSNS——社交与电商的结合

    2019独角兽企业重金招聘Python工程师标准>>> 做电子商务方面的业务多年,想信很多人一直想要做一款自己的社会化电商产品.自从有了创业的想法,就开始寻找合适的社交产品平台,众所 ...

  5. 基于社交系统ThinkSNS搭建校园社交系统

    2019独角兽企业重金招聘Python工程师标准>>> 校园社交虽植根于校园,但校园社交平台的用户使用周期短.迭代过快,若想获得长远的生命力,却必须延伸到社会.从学生到社会人,用户的 ...

  6. 社交系统ThinkSNS版本内容介绍 帮助你快速选择授权版本!

    2019独角兽企业重金招聘Python工程师标准>>> 开源社交系统ThinkSNS经过9年的专研与创新,目前已经具有成型并完善的四个端应用:PC端应用,H5端(微信端,包含老版W3 ...

  7. 社交系统ThinkSNS+第4阶段IOS端研发更新发布播报

    2019独角兽企业重金招聘Python工程师标准>>> 研发发布版本号:V1.8 发布时间:2018年5月15日星期二 本次发布类型:移动端优化,新增功能发布 社交系统ThinkSN ...

  8. 开源社交系统ThinkSNS+和ThinkSNS V4区别在哪里

    ThinkSNS(简称TS),一款全平台综合性品牌社交软件系统,在互联网软件行业快速发展的10年,以专业的软件产品系统供应及领先的软件开发能力,为国内外商企事业单位提供优秀产品系统及软件服务.从200 ...

  9. 基于 Laravel、Vue.js开发的全新社交系统----ThinkSNS+

    2019独角兽企业重金招聘Python工程师标准>>> ThinkSNS(简称TS)始于2008年,一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方 ...

最新文章

  1. CurcveLane-NAS:华为中大提出一种结合NAS的曲线车道检测算法
  2. 值得收藏的45个Python优质资源(附链接)
  3. linux emule 编译 wx-config --libs,linux下编译wxwidgets所写程序所遇到的问题
  4. python模拟c的struct
  5. 【基础】C#异常处理的总结
  6. 小学计算机管理,小学计算机室管理制度
  7. HTML5中的webSocket、ajax、http
  8. python 字典由值找键,从Python中的Dictionary中的值获取键
  9. 心理学博士做了阿里巴巴首席技术官并且给马云赚了5000亿
  10. birt插件 web_好用的国产web报表软件非它莫属,轻松搞定复杂报表
  11. arduino 有源 蜂鸣器_Arduino入门教程--第八课--用蜂鸣器模拟警报器
  12. 在windows和Linux上安装ImageMagick与jmagick,Maven配置、Java图片压缩代码(整理网上、结合自己情况、编写出来的新安装方式)
  13. 初步了解Linux以及RHCE认证
  14. 对数据驱动运营的理解
  15. UVM基础-Sequence、Sequencer(一)
  16. Python使用标准库zipfile+re提取docx文档中超链接文本和链接地址
  17. 逻辑运算符以及逻辑表达式
  18. 【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇8、无缝镶嵌产品生产
  19. springBoot集成swagger访问报404
  20. Linux系统安装中文字体

热门文章

  1. Android 屏幕适配终结者
  2. (十九)美萍酒店管理系统:系统维护_系统设置_房间设置_添加类型、修改类型
  3. UWB定位技术芯片有什么用
  4. 2013网工上半年错题集
  5. 不要嘀咕自己对新环境的适应能力
  6. 应用性能监测工具(APM)VS数据可观测平台
  7. 可扩展区块链的墨客实践——硅谷陈小虎
  8. 雷电html代码,基于HTML5的游戏制作(雷电飞机设计游戏)
  9. LaTeX排版小工具
  10. 计算机中流水线的应用,计算机中的流水线技术