天天看點

社交系統ThinkSNS+ 性能簡述

概述

        本文主要描述ThinkSNS Plus服務端系統性能、服務端高性能部署方案及優化措施、服務端系統持續優化及更新政策。本文未涉及前端(PC站點、H5站點、Android、IOS)性能方案。

http://www.thinksns.com/reader/280.html#%E7%B3%BB%E7%BB%9F%E5%90%9E%E5%90%90%E9%87%8F 系統吞吐量

        壓測的伺服器為一台阿裡雲ECS伺服器,伺服器配置為2vCPU/4GB/5Mbps/普通雲盤200G。安裝thinksns plus後給資料庫添加了少量資料,保證每個接口都是有資料的狀态;然後在伺服器本地壓測一些常用的資料讀取接口,壓測結果吞吐量為30QPS左右。

        30QPS是指系統在每秒可以處理30個請求,一天有86400秒,算下來一天可以處理約260萬個請求;根據thinksns plus移動端統計,平均每頁面3個請求,假設使用者每日平均通路50個頁面,計算結果為支援1.7萬左右的日活使用者(日活使用者不是注冊會員數量)。當然,這樣計算出來的結果是不準确的,計算中沒有考慮峰值和其他因素,需要根據實際業務做分析。

http://www.thinksns.com/reader/280.html#%E7%B3%BB%E7%BB%9F%E9%83%A8%E7%BD%B2%E5%92%8C%E4%BC%98%E5%8C%96 系統部署和優化

http://www.thinksns.com/reader/280.html#%E7%B3%BB%E7%BB%9F%E5%92%8C%E5%9F%BA%E7%A1%80%E8%BD%AF%E4%BB%B6%E4%BC%98%E5%8C%96 系統和基礎軟體優化

        優化系統和基礎軟體(nginx、mysql、php等)能讓系統支援更多的連接配接數和請求,并且運作起來更穩定。具體的優化項根據不同的系統環境和業務需求,自行百度或谷歌上面有非常多的優化教程,不在一一列舉。

http://www.thinksns.com/reader/280.html#thinksns-plus%E9%83%A8%E7%BD%B2%E4%BC%98%E5%8C%96 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都不是必須的,但是建議都進行配置或選擇性配置。按要求優化以上内容之後,整體性能可以提高一倍以上。

http://www.thinksns.com/reader/280.html#%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD%B2 分布式部署

        分布式部署為解決更大的業務需求,如更大的請求峰值、資料庫讀寫性能瓶頸,網絡帶寬瓶頸等;目标為建立高可用性系統,單點故障不影響系統服務。目前thinksns plus支援的分布式部署方案如下:

l 應用程式負載均衡,多台伺服器部署thinksns plus系統,通過負載均衡器轉發請求到部署的伺服器。thinsns plus 無需任何配置,但是要将會話資料、緩存資料、使用者上傳檔案單獨部署,也就是上面“thinksns plus 部署優化中的#7、#8、#10、#13條”。

l 資料庫讀寫分離,安裝好資料庫之後,隻需在簡單配置即可支援,也可以使用雲資料庫做讀寫分離。

l 分布式緩存系統,搭建好分布式緩存伺服器後僅需簡單配置即可支援,也可以采用相容redis協定的雲緩存系統。

l 分布式檔案系統(目前不支援,已列入計劃,之後會支援雲存儲)

http://www.thinksns.com/reader/280.html#%E7%B3%BB%E7%BB%9F%E4%BC%98%E5%8C%96%E5%92%8C%E5%8D%87%E7%BA%A7 系統優化和更新

        以上提及的各種優化部署政策,部分都是建立在增加伺服器的基礎上提升系統的處理能力,并未涉及到系統程式的優化,那是不是程式優化就不重要了?

        當然不是,在業務初期,增加伺服器可以快速擴容系統處理能力,而且也是成本效益最高的方式;假如聘一個人專門優化程式,一年10萬薪資,那這個人一年能提高程式的一倍性能也是很不錯了,但這十萬要是花在伺服器上面,性能可能立即提高10倍。

        而且,thinksns plus産品研發團隊每天都在優化和改進産品,每次版本疊代,已安裝的thinksns plus程式都可以通過自動或手動的方式合并最新的特性,這其中有很多特性就是針對于性能的優化。保持更新不間斷,已安裝的thinksns plus程式性能也将越來越好。

所有我們的産品體驗都在我們的官網“免費體驗”頁面可以找到:

http://www.thinksns.com/experience.html

APP端體驗,下載下傳新版本的朋友們,請先解除安裝老版本,否則無法使用;iphone手機安裝demo前請點選設定-通用-裝置管理-信任(企業應用)

ThinkSNS(簡稱TS),一款全平台綜合性

社交系統

,為國内外大中小企業和創業者提供社會化軟體研發及技術解決方案,目前最新系統為ThinkSNS V4及ThinkSNS+兩個并行系統。感謝大家一緻對Ts團隊和産品的支援,2018我們在路上。

ThinkSNS擁有50多個功能子產品,全方位覆寫SNS系統所需,微網誌(朋友圈)、即時聊天、直播、論壇、資訊、CMS、活動、頻道、圈子、問答、打賞等主流社交功能應有盡有。價格梯度多樣,根據您的項目需求靈活選型運用,支援深度靈活二次開發。

想要了解更多請聯系:

17311245680(同微信);QQ:3515923610(←源碼購買、二次開發、創業扶持、定制開發、方案策劃、開發服務等)