摘要:分別在幾個環(huán)境中跑相同代碼,發(fā)現(xiàn)是網(wǎng)絡(luò)影響的調(diào)用三方服務(wù)返回時間波動。調(diào)優(yōu)基于業(yè)務(wù)需求,更改調(diào)用三方服務(wù)方法為異步調(diào)用。
背景
今天和分子公司合并服務(wù)接口(降低成本),對方反應(yīng)我這邊有個服務(wù)慢,搞了一天,就順便記錄下服務(wù)調(diào)優(yōu) 1. 網(wǎng)絡(luò)
由于生產(chǎn)機(jī)和測試機(jī)在機(jī)房處于不同網(wǎng)段,網(wǎng)絡(luò)環(huán)境質(zhì)量有差異,最開始懷疑的是網(wǎng)絡(luò)導(dǎo)致的。分別在幾個環(huán)境中跑相同代碼,發(fā)現(xiàn)是網(wǎng)絡(luò)影響的調(diào)用三方服務(wù)返回時間波動。
2.調(diào)優(yōu)基于業(yè)務(wù)需求,更改調(diào)用三方服務(wù)方法為異步調(diào)用。嗯!應(yīng)該沒問題了。
3.驗(yàn)證進(jìn)行優(yōu)化驗(yàn)證,發(fā)現(xiàn)調(diào)用平均時長有明顯降低(廢話)。但是,但可是,發(fā)現(xiàn)了新問題,在spring boot啟動后第一次調(diào)用本服務(wù),耗時仍舊遠(yuǎn)遠(yuǎn)高于后續(xù)調(diào)用,正常在20ms/次,第一次平均在600ms/次,于是開始google
于是看到了這個提問修改項(xiàng)目
https://segmentfault.com/q/10...
在查看Dockerfile后,發(fā)現(xiàn)啟動腳本中有加如下參數(shù)
JAVA_ALL_OPTS=" -Djava.security.egd=file:/dev/./urandom "
繼而想修改docker基礎(chǔ)鏡像中jre的java.security文件
遂在Dockerfile中增加如下shell
sed -i "117csecurerandom.source=file:/dev/./urandom" /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
就是用shell 替換了文本的內(nèi)容
結(jié)論其實(shí),也沒有明顯的效率提升,服務(wù)首次加載還是比之后慢。所以考慮,是不是文件是不是沒有改全(待完成,還沒驗(yàn)證)
最后,通過驗(yàn)證發(fā)現(xiàn)一個規(guī)律,假設(shè)有A B兩個服務(wù),在Spring Boot 啟動后,
如果先首次訪問A,那么B的首次訪問時間會縮短,但是還是會高于第二次及以后的訪問時間
如果先首次訪問B,那么A的首次訪問時間會縮短,但是還是會高于第二次及以后的訪問時間
因此,在Spring boot啟動后,第一個被訪問的服務(wù)耗時一定大于第二個被訪問的服務(wù),且每個服務(wù)之后的訪問時間一定小于本服務(wù)第一次被訪問的時間。
暫時就這么多,這是個記錄。
之后會對基礎(chǔ)鏡像中jdk里面的java.security進(jìn)行修改,如果有效果 會再更新。
剛才又找了一下,發(fā)現(xiàn)jdk目錄里沒有java.security,是我秀逗了
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/77521.html
摘要:分別在幾個環(huán)境中跑相同代碼,發(fā)現(xiàn)是網(wǎng)絡(luò)影響的調(diào)用三方服務(wù)返回時間波動。調(diào)優(yōu)基于業(yè)務(wù)需求,更改調(diào)用三方服務(wù)方法為異步調(diào)用。 背景 今天和分子公司合并服務(wù)接口(降低成本),對方反應(yīng)我這邊有個服務(wù)慢,搞了一天,就順便記錄下 服務(wù)調(diào)優(yōu) 1. 網(wǎng)絡(luò) 由于生產(chǎn)機(jī)和測試機(jī)在機(jī)房處于不同網(wǎng)段,網(wǎng)絡(luò)環(huán)境質(zhì)量有差異,最開始懷疑的是網(wǎng)絡(luò)導(dǎo)致的。分別在幾個環(huán)境中跑相同代碼,發(fā)現(xiàn)是網(wǎng)絡(luò)影響的調(diào)用三方服務(wù)返回時間...
摘要:前言這篇文章的主題是記錄一次程序的性能優(yōu)化,在優(yōu)化的過程中遇到的問題,以及如何去解決的。因?yàn)槲覀兊倪B接數(shù)只有,一旦請求過多,勢必會導(dǎo)致數(shù)據(jù)庫瓶頸。我們再次壓測,結(jié)果顯示萬,服務(wù)器數(shù)據(jù)庫連接正常,連接正常,響應(yīng)時間平均為,錯誤率為。 前言 這篇文章的主題是記錄一次Python程序的性能優(yōu)化,在優(yōu)化的過程中遇到的問題,以及如何去解決的。為大家提供一個優(yōu)化的思路,首先要聲明的一點(diǎn)是,我的方式...
摘要:高性能代碼的最佳實(shí)踐前言在這篇文章中,我們將討論幾個有助于提升應(yīng)用程序性能的方法。要獲得有關(guān)應(yīng)用程序需求的最好最可靠的方法是對應(yīng)用程序執(zhí)行實(shí)際的負(fù)載測試,并在運(yùn)行時跟蹤性能指標(biāo)。 showImg(https://segmentfault.com/img/bVbtgk4?w=256&h=254); 高性能Java代碼的最佳實(shí)踐前言 在這篇文章中,我們將討論幾個有助于提升Java應(yīng)用程序性...
摘要:數(shù)據(jù)中心操作系統(tǒng)以和等新一代創(chuàng)業(yè)公司為代表,開始提出數(shù)據(jù)中心操作系統(tǒng)的概念。數(shù)據(jù)中心操作系統(tǒng)與開發(fā)方有一個非常清晰和低成本的接入接口,完全省去了運(yùn)維這個角色寫膠水腳本的必要性,從而徹底顛覆這個崗位。 崗位價值有: 權(quán)限縮小 提供操作安全的保險服務(wù) 提供操作的可擴(kuò)展性 提供業(yè)務(wù)和資源能見度 屏蔽資源的部署細(xì)節(jié) 靜態(tài)資源調(diào)平 動態(tài)資源調(diào)平 故障處理和善后 權(quán)限縮小 通過配置文件修改...
摘要:學(xué)習(xí)筆記使用很容易創(chuàng)建一個獨(dú)立運(yùn)行運(yùn)行內(nèi)嵌容器準(zhǔn)生產(chǎn)級別的基于框架的項(xiàng)目,使用你可以不用或者只需要很少的配置。異常消息如果這個錯誤是由異常引起的。錯誤發(fā)生時請求的路徑。 Spring-Boot 1.5 學(xué)習(xí)筆記 使用Spring Boot很容易創(chuàng)建一個獨(dú)立運(yùn)行(運(yùn)行jar,內(nèi)嵌Servlet容器)、準(zhǔn)生產(chǎn)級別的基于Spring框架的項(xiàng)目,使用Spring Boot你可以不用或者只需要很...
閱讀 1325·2023-04-26 00:10
閱讀 2428·2021-09-22 15:38
閱讀 3746·2021-09-22 15:13
閱讀 3503·2019-08-30 13:11
閱讀 646·2019-08-30 11:01
閱讀 3028·2019-08-29 14:20
閱讀 3208·2019-08-29 13:27
閱讀 1726·2019-08-29 11:33