SNS源码:ThinkSNSPlus性能简述

 

概述php

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

系统吞吐量前端

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

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

系统部署和优化redis

系统和基础软件优化sql

        优化系统和基础软件(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 部署优化中的#七、#八、#十、#13条”。

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

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

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

系统优化和升级

        以上说起的各类优化部署策略,部分都是创建在增长服务器的基础上提高系统的处理能力,并未涉及到系统程序的优化,那是否是程序优化就不重要了?

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

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

全部咱们的产品体验都在咱们的官网“免费体验”页面能够找到:http://www.thinksns.com/experience.html

APP端体验,下载新版本的朋友们,请先卸载老版本,不然没法使用;iphone手机安装demo前请点击设置-通用-设备管理-信任(企业应用)

ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新系统为ThinkSNS V4及ThinkSNS+两个并行系统。感谢你们一致对Ts团队和产品的支持,2018咱们在路上。

图片3.png 

ThinkSNS拥有50多个功能模块,全方位覆盖SNS系统所需,微博(朋友圈)、即时聊天、直播、论坛、资讯、CMS、活动、频道、圈子、问答、打赏等主流社交功能应有尽有。根据您的项目需求灵活选型运用,支持深度灵活二次开发。

相关文章
相关标签/搜索