優(yōu)化插件的選擇和一些插件建議
服務器的主要性能開銷在于實體的運算(往往占用了一半的CPU時間),所以定時清理實體(怪物、動物等)和限制密集卡服的插件對性能的幫助是最大的。
很多插件都支持使用Mysql來存儲數(shù)據(jù),例如CoreProtect、QucikShop、LWC等等,如果條件允許的話,請使用Mysql來代替文本數(shù)據(jù)庫和Sqlite。這么做可以一定程度的提高服務器的流暢程度。
安裝插件的時候也不要太懶使用網(wǎng)頁后臺現(xiàn)成的插件或者使用論壇上搬運的網(wǎng)盤地址下載。請到bukkit或者spigot官網(wǎng)看看插件有無新版本。舉個例子,RPG服常用插件MythicMobs很多服務器還在使用1.*的版本,然而目前最新版本為2.0.6。2.0.0相比1.*就有著不少的性能提升。2.0.5版本相比老版本的改動在于修復bug和大幅提高性能,2.0.6更是使得怪物技能和掃描異步化,明顯提高了性能。所以說往往新版本的插件都意味著性能的提升和bug的修復,如果版本兼容,盡可能使用最新穩(wěn)定版的插件。
玩法也對性能有幫助
官方設置一些玩家的聚居點(類似新手村)可以讓一部分玩家集中在一起,可以使得加載的區(qū)塊數(shù)量減少(玩家共享了視野),也能減少玩家跑圖帶來的性能開銷。提供公共的刷怪場也能減少玩家自建刷怪場的幾率,可以一定程度上使得服務器更為流暢,提供公共的農(nóng)場飼養(yǎng)動物也有類似的效果。
找出卡服的真兇
1. 如何使用Timing
Timing是Bukkit和其衍生服務端版本(Spigot、MCPC+、PaperSpigot等)自帶的一種性能診斷工具,可以很方便的查看服務端的性能是由那些部分所消耗的,以圖表形式還能直觀的查看重點性能消耗大戶,對于腐竹來說可以很方便的定位卡服的插件或者卡服的原因,對于插件開發(fā)者來說可以直接定位到性能不佳的程序方法(Function),方便優(yōu)化插件性能。為了確保真實性,下面的演示全部在真實的服務器上操作,為了保護玩家隱私和密碼安全,已打碼處理。
要使用這個功能,首先你需要在服務器內(nèi)或者直接在后臺內(nèi)輸入指令 —— timings on 開啟統(tǒng)計,具體如圖所示:
為了得到準確的統(tǒng)計結(jié)果,建議等待至少15分鐘,如果是在瞬間卡頓的峰值附近,建議至少等待5分鐘。
在等待足夠的時間后,輸入指令 —— timings paste 稍等片刻,會生成一串網(wǎng)址,記下這個網(wǎng)址(圖片已打碼)
現(xiàn)在打開圖中的網(wǎng)址,即可查看服務端的『性能分析報告』了。需要注意的時候,不需要使用的時候請使用 timings off 指令關閉性能統(tǒng)計,否則會帶來不必要的性能損耗。
2. 如何讀懂Timing
首先,我們打開剛剛生成的網(wǎng)址,我們先從基礎的信息開始閱讀。
Total是指從統(tǒng)計開始一共服務端運行的時間(由Ticks推算),Sample Time是指統(tǒng)計總時長。后面緊跟著的是服務端的版本信息,例如我的是PaperSpigot1.8.8,Average Entitys是平均實體的數(shù)量,表示形式是 活躍實體數(shù)量/總實體數(shù)量。一般而言只有活躍實體才會消耗CPU時間。Average Players是統(tǒng)計時間內(nèi)平均這個服務端在線的人數(shù)(注意,是單個服務端的在線人數(shù)),例如我的是105.81人。Average TPS是統(tǒng)計時段內(nèi)平均的TPS,例如我的是19.44。Server Load是指服務端負載水平。超過100%則意味著TPS會開始低于20的水平,一般超過150%就會有明顯卡頓了。
瀏覽量:72022-07-19
瀏覽量:12021-05-31
瀏覽量:02021-05-29
瀏覽量:02021-05-17
瀏覽量:02021-04-23
瀏覽量:02019-10-13