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、活動、頻道、圈子、問答、打賞等主流社交功能應有盡有。根據您的項目需求靈活選型運用,支持深度靈活二次開發。

相關文章
相關標籤/搜索