社交系统ThinkSNS+ 性能简述
概述
???????? 本文主要描述 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 支持的分布式部署方案如下:
l? 應用程序負載均衡,多臺服務器部署 thinksns plus 系統,通過負載均衡器轉發請求到部署的服務器。 thinsns plus? 無需任何配置,但是要將會話數據、緩存數據、用戶上傳文件單獨部署,也就是上面 “thinksns plus? 部署優化中的 #7 、 #8 、 #10 、 #13 條 ” 。
l? 數據庫讀寫分離,安裝好數據庫之后,只需在簡單配置即可支持,也可以使用云數據庫做讀寫分離。
l? 分布式緩存系統,搭建好分布式緩存服務器后僅需簡單配置即可支持,也可以采用兼容 redis 協議的云緩存系統。
l? 分布式文件系統(目前不支持,已列入計劃,之后會支持云存儲)
系統優化和升級
??????? ? 以上提及的各種優化部署策略,部分都是建立在增加服務器的基礎上提升系統的處理能力,并未涉及到系統程序的優化,那是不是程序優化就不重要了?
???????? 當然不是,初期,增加服務器可以快速擴容系統處理能力,而且也是性價比最高的方式;假如聘一個人專門優化程序,一年 10 萬薪資,那這個人一年能提高程序的一倍性能也是很不錯了,但這十萬要是花在服務器上面,性能可能立即提高 10 倍。
???????? 而且, thinksns plus 在不斷優化和改進產品,每次版本迭代,已安裝的 thinksns plus 程序都可以通過自動或手動的方式合并最新的特性,這其中有很多特性就是針對于性能的優化。保持更新不間斷,已安裝的 thinksns plus 程序性能也越來越好。
來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/31448874/viewspace-2641268/,如需轉載,請注明出處,否則將追究法律責任。
轉載于:http://blog.itpub.net/31448874/viewspace-2641268/
總結
以上是生活随笔為你收集整理的社交系统ThinkSNS+ 性能简述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arm对应hex_ASCII与HEX对照
- 下一篇: vlookup使用步骤_VLOOKUP函