国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

神秘的偶發(fā)服務超時,原因可能是那些壞鄰居

開發(fā) 后端
唯品會在服務化體系改造的初期,一個對延時敏感的應用,偶然會發(fā)生一些超時,事發(fā)當時zabbix分鐘級監(jiān)控,dstat秒級監(jiān)控的服務器指標都正常,應用,數(shù)據(jù)庫,緩存,網絡也正常,那這是為什么呢?

[[259182]]

 1. 惡鄰A君

唯品會在服務化體系改造的初期,一個對延時敏感的應用,偶然會發(fā)生一些超時,事發(fā)當時zabbix分鐘級監(jiān)控,dstat秒級監(jiān)控的服務器指標都正常,應用,數(shù)據(jù)庫,緩存,網絡也正常,那這是為什么呢?

某天腦洞大開,把懷疑的目光投向了在后臺運行日志收集程序Flume,發(fā)現(xiàn)它的GC運行得比較狂野,于是對它的GC線程數(shù)做了限制:

  • 修改前:15分鐘內, 大于30ms的業(yè)務調用173次, 大于50ms的23次
  • 修改后: 246分鐘內,大于30ms的業(yè)務調用41次, 大于50ms的4次

2. 惡鄰B君

又過了若干個月,又有某些應用,又開始抽風。這次相對好查一些,因為我們新升級了服務器的監(jiān)控系統(tǒng),只要在兩臺機器上做一下對比測試就好了。 只花了一個晚上,基本就能驗明兇手了。

那這個新升級的監(jiān)控系統(tǒng),又是怎么影響到主應用的呢?找出它與應用有交互的部分,原來對于JVM的各種線程數(shù)信息,堆內存各代的信息,每拿一個數(shù)據(jù)都會啟動一次JMX Client,所以每分鐘都有一秒要連拿7個數(shù)據(jù),啟動7個JMX Client。

改進方法很簡單,我們自己定制了一下JMX Client,將7個數(shù)據(jù)合并在一個命令里獲得,另外定制了一下JMX Client的JVM參數(shù),將它啟動的動靜盡量減少。

3. 逆優(yōu)化

可見,JVM是個運行服務端應用的好VM,但體量有點大。如果你只是想頻繁地運行一段Java寫的腳本,或者在跑一些輔助性的程序比如監(jiān)控和日志收集,往常推薦的JVM參數(shù)也就不再合適里,需要進行逆優(yōu)化才能做個安靜的好鄰居:

  • 啟動快速,動靜小。
  • 低成本,節(jié)約CPU、內存和線程。
  • 低擾動,不干擾主應用的運行。

4. 從失敗的取經開始

***時間,覺得和JDK自帶的jmap,jstack們用一樣的參數(shù)就好了,多簡單。

在它們運行時,跑jps -v ,結果發(fā)現(xiàn)通通只有一個-Xms8m 。

還不死心,又去翻源碼,JDK7在 Makefile.launcher,JDK8在CompileLaunchers.gmk,結果發(fā)現(xiàn)全部8M,通通8M,再沒別的參數(shù)了。

有同學又從久遠的記憶中想起一個-client,感覺也是比較弱氣的選項,但在這個多核的64位Linux服務器上是根本無效的,一定是-server,必須是-server。

5. 逆優(yōu)化的思路

JVM與上述訴求相沖的幾個地方:

  • 各種吃內存
  • 各種后臺線程
  • JIT時CPU表現(xiàn)狂野
  • GC時CPU表現(xiàn)狂野
  • 那我們就從這幾個方面著手。

在開始折騰前,先準備好測試手段:

首先,給工具腳本配上GC 日志參數(shù),在GC日志里就能看到實際啟動參數(shù),GC紀錄,以及運行結束時內存各代的占用。

-Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime

其次,長期跑一個 pidstat -l 1| grep xxx ,緊密監(jiān)控進程的CPU消耗。

***,jstack看線程。

6. 類的加載和編譯優(yōu)化

6.1 -Xverify:none

來自優(yōu)化Eclipse啟動速度的經驗,說關閉Java類加載驗證可以加快10% -15%的啟動速度,嗯,好,加。

6.2 設定編譯級別

JIT編譯之后的代碼比解釋執(zhí)行字節(jié)碼更快,更省CPU。比如vjtools里的vjtop,沒編譯時每回運行要50%單核CPU,75ms執(zhí)行完一個探測循環(huán),而編譯后10%單核,15ms就能完工。

但編譯本身就需要CPU,也需要額外的編譯線程。

如果腳本只簡單的跑一次,比如vjtools里的vjmxcli,建議就不要進行JIT編譯了,編譯完了也用不上,直接解釋執(zhí)行就好。禁止它:-Djava.compiler=NONE

如果腳本用于密集計算,比如vjtools里的vjmap,則建議打開多層編譯,一開始就對運行到的方法進行靜態(tài)編譯,不用等方法被調用1萬次。多層編譯在JDK8默認打開,顯式打開:-XX:+TieredCompilation。

但打開多層編譯也會導致程序運行初期有較多的編譯任務,吃比較多的CPU,可以顯式關掉多層編譯 -XX:-TieredCompilation來對比一下,綜合其帶來的性能提升,腳本的運行時間的長短,以及額外的CPU支出來綜合評價。

6.3 編譯線程的設定

在24核服務器上,默認有4條C1編譯線程,8條C2編譯線程(多層編譯下),可以把它設到最小的-XX:CICompilerCount=2。

6.4 未來黑科技-AOT

JIT真的不適合腳本,還是預先把代碼編譯(Ahead-of-Time,AOT) 更好。 JDK9里有一個Hotspot編譯器組搞的試驗性的jaotc,另一個選擇是GraalVM全家桶里帶的SubstrateVM,支持JDK8。

看各位大大炫,但我還沒玩過。

7. GC 優(yōu)化

腳本們一般不介意GC延時,建議使用吞度量最的串行收集算法 -XX:+UseSerialGC,避免了其他GC算法所需的大量GC線程,更絕對保證了自己GC時不會影響到主應用。

如果依然想使用并行算法,就一定要設置GC線程數(shù),在24核機器上YGC和CMS GC的線程數(shù)默認分別是18和5,為了避免成為惡鄰A君。可設為:

-XX:ParallelGCThreads=4 -XX:ConcGCThreads=2

8. 內存優(yōu)化

  • 首先,JVM的堆內存
  • 默認的JVM初始內存大小,在大內存的服務器上會比較大,必須設置。
  • -Xms 與 -Xmx 不等時, 自動擴張并沒有想象中那么智能和合理。
  • 新生代默認只有1/3堆大小,而在腳本看來新生代才是大頭。

建議根據(jù)GC日志的結果,完整設置-Xms 和 -Xmx,并用-Xmn(新生代占大頭) 或-XX:NewRatio=1(一半半) 來設置新生代大小。

其次,每條線程的內存,從默認1M回到256k: -xss256k

其他***代,CodeCache的初始值還算合理,沒看到特別浪費的情況不用管。

責任編輯:武曉燕 來源: 春天的旁邊
相關推薦

2018-07-16 10:10:43

WiFi上網網速

2017-10-17 12:43:17

前端CSS布局

2017-06-26 10:18:43

2025-01-16 15:44:04

2021-08-27 10:14:22

機器學習工具手冊人工智能

2020-05-17 16:06:47

ICMPIP協(xié)議網絡協(xié)議

2020-12-16 10:49:56

谷歌系統(tǒng)系統(tǒng)癱瘓

2021-07-14 08:31:08

Java反射機制Class類

2025-11-06 01:00:00

App監(jiān)控主流卡

2019-04-28 11:06:01

Hbase架構程序員

2013-05-02 13:52:07

2020-11-02 10:50:21

爬蟲Python網絡

2024-01-03 16:28:46

WinDbg命令調試

2012-08-30 09:44:27

2022-07-12 15:23:38

勒索軟件網絡攻擊

2021-03-18 10:57:42

物聯(lián)網IoT

2023-03-07 14:58:37

數(shù)字孿生自動化

2023-06-14 07:23:57

打印文檔打印機

2023-10-27 07:27:18

Grayjay視頻流應用

2018-03-07 09:35:17

區(qū)塊鏈
點贊
收藏

51CTO技術棧公眾號

成人欧美一区二区三区视频网页| 欧美日韩免费一区二区三区| 成人精品视频99在线观看免费| 日韩精品 欧美| 国产私拍福利精品视频二区| 日韩在线第七页| 中文字幕中文字幕在线一区| 毛片无码国产| 一区二区三区在线看| 6080yy午夜一二三区久久| 九七影院97影院理论片免费| aiai久久| 中文字幕一区在线观看视频| 成人免费看片视频在线观看| 亚洲第一毛片| 日韩午夜激情免费电影| 污视频在线观看网站| 伊人久久在线| 亚洲人成网77777色在线播放| 国产精品久久久久久户外露出| 国产 高清 精品 在线 a| 神马久久一区二区三区| 欧美精品成人在线| 日本在线成人| 欧美劲爆第一页| 日韩欧美一级| 欧美激情极品视频| 国产一区二区三区乱码| 精品一区二区在线视频| 欧美爱爱视频网站| 经典三级在线一区| 久久久久久久久影视| av日韩久久| 伊人久久久久久久久久久久久| 奇米777日韩| 成人日韩精品| 色偷偷噜噜噜亚洲男人的天堂| 欧美性猛片aaaaaaa做受| 欧美在线看片| 91超碰在线电影| 亚洲性视频h| 日本一区免费观看| 久久婷婷开心| 在线视频91p| 国产黑丝在线一区二区三区| 欧美久久精品一级黑人c片| 亚洲国产aⅴ精品一区二区三区| 日韩三级成人av网| 久久丝袜视频| 91色在线观看| 日韩av网站在线观看| 真人做人试看60分钟免费| 久久久99精品免费观看| 欧美日韩精品久久| 国产精品成人3p一区二区三区| 亚洲国产精品黑人久久久| 痴汉一区二区三区| 久久国产生活片100| www国产免费| 夜夜精品视频一区二区| a黄色片在线观看| 欧美成人全部免费| 欧美三级免费| 日本三级免费网站| 色婷婷国产精品久久包臀 | 国产熟女高潮视频| 亚洲福利国产精品| 91美女精品| 97在线免费视频| 在线亚洲伦理| 国产精品一区二区羞羞答答| 久久精品一区| 大伊香蕉精品视频在线| 午夜精品福利在线| 日韩三级影视| 91久久久久久久久久久久久| 国产剧情在线观看一区二区| 麻豆影视在线观看| 波多野结衣亚洲一区| 黄色资源在线看| 亚洲国内精品视频| 视频在线不卡| 日韩国产在线播放| 久久亚洲在线| 国产美女主播在线播放| 日日欢夜夜爽一区| 国产原创精品在线| 亚洲精品国偷自产在线99热| 精品日本12videosex| 久久97精品久久久久久久不卡| 97人人精品| 日韩精品在线观看视频| 老太脱裤让老头玩ⅹxxxx| 亚洲曰韩产成在线| 高清欧美日韩| 亚洲精品一区二三区不卡| 国产麻豆一区二区三区精品视频| 午夜精品一区二区在线观看的| 神马伦理电影| 疯狂欧美牲乱大交777| 久久久久黄色| 中文字幕av一区二区三区谷原希美 | 欧美在线视频日韩| 亚洲精选av| 亚洲在线欧美| 日本国产一区二区| 日韩福利视频一区| 日日摸日日碰夜夜爽无码| 欧美一区二区美女| 在线一区电影| 亚洲一区二区少妇| 欧美freesex交免费视频| 三级4级全黄60分钟| 亚洲欧美激情视频| 亚洲精品粉嫩美女一区| 国产区欧美区日韩区| 亚洲欧美激情一区二区| 国产精品99久久免费| 伊人网在线免费| 亚洲第一区第二区| 国产精品一国产精品k频道56| 麻豆传媒在线视频| 51久久精品夜色国产麻豆| 91视频你懂的| 91亚洲免费视频| 日韩中文在线视频| 国产成人自拍网| 中文字幕色婷婷在线视频| 神马欧美一区二区| 欧美一区二区三区免费观看视频 | 麻豆免费精品视频| 日韩123区| 亚洲国产高清国产精品| 欧美精品aⅴ在线视频| 欧美日韩在线观看首页| 久久精品aaaaaa毛片| 欧美色网站导航| 在线观看亚洲| av在线网址观看| 亚洲精品影院| 在线视频日本亚洲性| 91丝袜美腿高跟国产极品老师 | 中文字幕第一区二区| 99tv成人影院| 黄色手机在线视频| 国产91网红主播在线观看| 尹人成人综合网| 亚州av中文字幕在线免费观看| 欧美性在线观看| 亚洲免费观看高清完整版在线观看| 理论片一区二区在线| 丝袜美女写真福利视频| 91人成网站www| 中文字幕在线视频网站| 国产精品福利在线| 欧美日韩亚洲系列| 亚洲国产二区| 日韩精品极品| 日本xxxx黄色| 亚洲xxx自由成熟| 亚洲国产精品久久91精品| av中文字幕亚洲| 美丽的姑娘在线观看免费动漫| 91在线短视频| 精品不卡在线视频| 26uuu亚洲婷婷狠狠天堂| 免费av一区| 色资源在线观看| 亚洲男人的天堂网站| av成人动漫在线观看| 欧美黄色影院| 欧美一级二级三级| 亚洲精品欧美二区三区中文字幕| 久久最新网址| 成人在线免费看片| 精品少妇人妻av免费久久洗澡| 久久久视频在线| 日韩精品国产精品| 欧美日韩视频免费看| 91短视频在线观看| 九色一区二区| 日韩中文字幕网站| 亚洲午夜在线观看视频在线| 希岛爱理一区二区三区av高清| 欧美视频在线免费播放| 国产精品亚洲激情| 日韩电影免费在线观看中文字幕| 国产亚洲欧美色| 亚洲大胆视频| 在线精品国产亚洲| 一级日本在线| 嫩草影院国产精品| 久久久一本精品99久久精品| 综合网中文字幕| 91久久精品一区二区二区| 丁香婷婷综合色啪| 66国产精品| 超碰97久久| 精品国产第一福利网站| 亚洲精品视频在线免费|