中国体彩江苏7位数:論壇系統ThinkSNS+ 性能概述 [復制鏈接]

2019-6-4 16:35
ThinkSNS 閱讀:122 評論:0 贊:0

概述

体彩江苏7位数18148 www.zyvyo.com         本文主要描述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支持的分布式部署方案如下:

應用程序負載均衡,多臺服務器部署thinksns plus系統,通過負載均衡器轉發請求到部署的服務器。thinsns plus 無需任何配置,但是要將會話數據、緩存數據、用戶上傳文件單獨部署,也就是上面“thinksns plus 部署優化中的#7、#8、#10、#13。

數據庫讀寫分離,安裝好數據庫之后,只需在簡單配置即可支持,也可以使用云數據庫做讀寫分離。

分布式緩存系統,搭建好分布式緩存服務器后僅需簡單配置即可支持,也可以采用兼容redis協議的云緩存系統。

分布式文件系統(目前不支持,已列入計劃,之后會支持云存儲)

系統優化和升級

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

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

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

 

免費體驗:thinksns.com/experience.html

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


我來說兩句
您需要登錄后才可以評論 登錄 | 立即注冊
facelist
所有評論(0)
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反?。[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 体彩江苏7位数18148 )