社交系统ThinkSNS+ 性能简述

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

概述

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

系统吞吐量

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

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

系统部署和优化

系统和基础软件优化

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

ThinkSNS Plus部署优化

1. 使用php7php7较之前的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+,而所谓的高效云盘不过3000IOPSSSD云盘效率是高效云盘的五倍以上。

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

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

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

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

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

分布式部署

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

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

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

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

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

系统优化和升级

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

        当然不是,在业务初期,增加服务器可以快速扩容系统处理能力,而且也是性价比最高的方式;假如聘一个人专门优化程序,一年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、活动、频道、圈子、问答、打赏等主流社交功能应有尽有。价格梯度多样,根据您的项目需求灵活选型运用,支持深度灵活二次开发。

想要了解更多请联系:

17311245680(同微信);QQ:3515923610(←源码购买、二次开发、创业扶持、定制开发、方案策划、开发服务等)

目录
相关文章
|
14天前
|
运维 小程序 前端开发
结合圈层营销策略,打造稳定可靠的圈子app系统,圈子小程序!
圈子系统是一种社交平台,用户可按兴趣、职业等创建或加入“圈子”,进行内容发布、讨论和资源共享。开发时需考虑需求分析、技术选型(如PHP、MySQL)、页面设计、功能实现(注册、登录、发布、评论等)、测试优化及运维管理。圈层营销则通过精准化、高端化的方式传递品牌信息,增强客户归属感。圈子小程序基于微信等平台,具备跨平台、便捷性和社交性,开发过程中需明确需求、选择技术框架、设计页面并确保稳定性和流畅性。
|
15天前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
87 3
|
4月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
169 0
|
5月前
|
搜索推荐 Java Android开发
打造个性化安卓应用:从设计到部署的全攻略
【8月更文挑战第31天】在这篇文章中,我们将一起探索如何从零开始构建一个安卓应用,并为其添加个人特色。我们将通过实际的代码示例,学习如何使用Android Studio进行开发,以及如何将应用发布到Google Play商店。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧,帮助你打造独一无二的安卓应用。
|
8月前
|
存储 JSON 安全
|
8月前
|
开发者
提升用户黏性:现成体育直播源码开发设计哪些关键功能
面对激烈的市场竞争,如何通过关键功能设计提升用户黏性,使之成为用户长期依赖的首选平台,是每一个开发者必须深思的问题。如下参考“东莞梦幻网络科技”现成体育直播源码,为了吸引更多用户并提高他们的黏性,开发哪些关键功能,帮助实现这一目标:
|
移动开发 小程序 安全
东郊到家app丨h5网页版丨小程序丨系统开发成熟技术/案例分析/规则介绍/源码稳定版
  东郊到家App是一个提供便利的生活服务平台,用户可以通过该应用程序在家中享受各种服务,如家政服务、美容美发、保洁、维修等。
|
存储 算法 安全
哈希竞猜游戏系统开发正式版/成熟案例/方案项目/源码平台
 Hash,一般翻译做散列,或音译为哈希,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值
|
安全 物联网 分布式数据库
一对一视频源码,提升用户互动活跃度的一大利器
一对一视频源码,提升用户互动活跃度的一大利器