購物車中還沒有商品,趕緊選購吧!

推薦閱讀

思途小妮子 思途小妮子

思途CMS底層框架升級,支持PHP7,實現數據庫讀寫分離,Session存儲云端化

時間:2020-06-12 | 分類:產品更新
瀏覽:439

思途cms重大更新.jpg


思途智旅-國內知名的旅游信息化建設服務商,在迎來13周年之際,旗下品牌思途CMS也在本周迎來重大升級,此次更新主要針對底層框架升級,包含PHP版本升級,數據庫以Session 等技術更新,通過此次升級會大大提升網站運行速度,同時通過數據庫讀寫分離和Session 存儲云端化技術可以支持中大型網站做負載均衡分布式部署。


具體升級內容如下:


一、系統支持PHP 7.0

此前版本僅支持PHP 5.4、5.5 升級后支持PHP 7.0 且兼容5.4、5.5


 PHP 7.0核心優勢:性能提升


重寫ZendVM,系統性能比PHP5.6提升300%。通俗點講就是程序運行效率更快,網站打開速度也會得到大幅度提升。

備注:在Zend引擎和拓展中,經常要創建一個PHP的變量,底層就是一個zval指針。之前的版本都是通過MAKE_STD_ZVAL動態的從堆上分配一個zval內存。而PHP可以直接使用棧內存。


PHP7.0 其他 新特征


變量類型

PHP 7.0版本函數的參數和返回值增加類型限定,為了PHP 7.1版本JIT特征做準備,增加類型后PHP JIT可以準確判斷變量樂享,生成最佳的機器指令。


錯誤異常

PHP程序出錯后過去Zend引擎會發生致命錯誤并終止程序運行,PHP 7.0可以使用try/catch 捕獲錯誤。


二、實現數據庫讀寫分離


1、什么是數據庫讀寫分離


MySQL Proxy最強大的一項功能是實現“讀寫分離(Read/Write Splitting)”。基本的原理是讓主數據庫處理事務性查詢,而從數據庫處理SELECT查詢。數據庫復制被用來把事務性查詢導致的變更同步到集群中 的從數據庫。 當然,主服務器也可以提供查詢服務。使用讀寫分離最大的作用無非是環節服務器壓力,提升網站運行速度。


2、數據庫讀寫分離解決什么問題?


大多數互聯網業務,往往讀多寫少,這時候,數據庫的讀會首先稱為數據庫的瓶頸,這時,如果我們希望能夠線性的提升數據庫的讀性能,消除讀寫鎖沖突從而提升數據庫的寫性能,那么就可以使用數據庫讀寫分離,性能提升后,網站打開速度自然也快。


3、為什么數據庫讀寫分離會提升性能?


(1) 物理服務器增加,負荷增加。


(2) 主從只負責各自的寫和讀,極大程度的緩解X鎖和S鎖爭用。


(3) 從庫可配置myisam引擎,提升查詢性能以及節約系統開銷。


(4) 從庫同步主庫的數據和主庫直接寫還是有區別的,通過主庫發送來的binlog恢復數據,但是,最重要區別在于主庫向從庫發送binlog是異步的,從庫恢復數據也是異步的。


(5) 讀寫分離適用與讀遠大于寫的場景,如果只有一臺服務器,當select很多時,update和delete會被這些select訪問中的數據堵塞,等待select結束,并發性能不高。 對于寫和讀比例相近的應用,應該部署雙主相互復制。


(6) 可以在從庫啟動是增加一些參數來提高其讀的性能,例如--skip-innodb、--skip-bdb、--low-priority-updates以及--delay-key-write=ALL。


(7) 分攤讀取。假如我們有1主3從,不考慮上述1中提到的從庫單方面設置,假設現在1 分鐘內有10條寫入,150條讀取。那么,1主3從相當于共計40條寫入,而讀取總數沒變,因此平均下來每臺服務器承擔了10條寫入和50條讀取(主庫不 承擔讀取操作)。

因此,雖然寫入沒變,但是讀取大大分攤了,提高了系統性能。另外,當讀取被分攤后,又間接提高了寫入的性能。所以,總體性能提高了,說白 了就是拿機器和帶寬換性能。


(8) MySQL復制另外一大功能是增加冗余,提高可用性,當一臺數據庫服務器宕機后能通過調整另外一臺從庫來以最快的速度恢復服務,因此不能光看性能,也就是說1主1從也是可以的。


三、Session存儲云端化


Session是另一種記錄客戶狀態的機制,不同的是Cookie保存在客戶端瀏覽器中,而Session保存在服務器上。客戶端瀏覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上。客戶端瀏覽器再次訪問時只需要從該Session中查找該客戶的狀態就可以了。


Session 存儲云端化優勢:


為了提高服務器端的負載能力,后臺一般將服務器節點做集群,通過ngnix通過輪詢的方式轉發到目標服務器。打個比方,當瀏覽器首次訪問A服務器生成Session 對象,然后在訪問生成的Session 對象,如果正好被ngnix轉發到了A服務器,那么沒問題可以獲取到Session 對象,如果不巧請求被轉發到B服務器,由于之前生成的Session 對象在A服務器,B服務器根本沒有生成session對象,很自然訪問不到Session 對象。那么將Session 存儲云端化后,將Session 放入redis中存在,這樣不管有多少臺應用服務器節點,都能共享redis中存儲的Session 對象,從而不會出現Session 錯誤。


以上便是此次底層框架升級的全部內容,升級后,網站打開速度更快,用戶體驗更好!


關于思途CMS


思途旅游CMS系統,將十三余年旅游實體行業經營經驗與互聯網營銷實戰需求相結合,針對旅游企業網站建設、經營需要,以效率提高、建立品牌,贏得利潤為出發點,經過近十二年研發,實現了讓旅游網站建設輕而易舉的目標。


產品詳情請查看:思途CMS產品介紹


說明

贊   4

有一點幫助   0

沒有幫助  

參與評論

他們說...

歡兔旅行

不錯,頂頂頂........

php7早該支持了
在線咨詢
返回頂部
欢乐斗牛捕鱼版下载 河北省11选五遗漏 龙江福彩快乐十分 极速时时彩78开奖结果 吉林11选5开奖结果定牛 澳洲幸运10开奖视频直播 五分赛车计划群 360时时彩五星走势图 配资平台哪个是实盘的 陕西快乐10分钟前三直走势图 029期排列3开机号 湖北体选30选 东营股指期货配资 _百家乐投注技巧 河北十一选五任七遗漏 能赚钱的捕鱼游戏手游 湖北福彩30选5官方查询