本文延續前篇效能校正的經驗談,上篇文章探討了關於應用程式本身可以最佳化的部分,包含了應用程式以及框架兩個部分。本篇文章將繼續剩下最佳化步驟的探討。
Speculative Execution Mitigations
接下來探討這個最佳化步驟對於效能有顯著的提升,但是本身卻是一個非常具有爭議性的步驟,因為其涉及到整個系統的安全性問題。
如果大家對前幾年非常著名的安全性漏洞 Spectre/Meltdown 還有印象的話,本次這個最佳化要做的就是關閉這類型安全性漏洞的處理方法。
標題的名稱 Speculative Execution Migitations 主要跟這漏洞的執行概念與 Pipeline 有關,有興趣理解這兩種漏洞的可以自行研究。
作者提到,大部分情況下這類型的防護能力都應該打開,不應該關閉。不過作者認為開關與否應該是一個可以討論的空間,特別是如果已經確認某些特別情境下,關閉防護能力帶來的效能如果更好,其實也是一個可以考慮的方向。
舉例來說,假設今天你運行了基於 Linux 使用者權限控管與 namespaces 等機制來建立安全防護的多使用者系統,那這類型的防護能力就不能關閉,必須要打開來防護確保整體的 Security Boundary 是完整的。 但是如果今天透過 AWS EC2 運行一個單純的 API Server,假設整個機器不會運行任何不被信任的程式碼,同時使用 AWS Nitro Enclaves 來保護任何的機密資訊,那這種情況下是否有機會可以關閉這類型的檢查?
作者根據 AWS 對於安全性的一系列說明認為 AWS 本身針對記憶體的部分有很強烈的保護,包含使用者之間沒有辦法存取 Hyperviosr 或是彼此 instance 的 Memory。
總之針對這個議題,有很多的空間去討論是否要關閉,以下就單純針對關閉防護能力帶來的效能提升。
作者總共關閉針對四種攻擊相關的處理能力,分別是
Spectre V1 + SWAPGS
Spectre V2
Spectre V3/Meltdown
MDS/Zombieload, TSX Anynchronous Abort
與此同時也保留剩下四個,如 iTLB multihit, SRBDS 等
這種設定下,整體的運作效能再次提升了 28% 左右,從 347k req/s 提升到 446k req/s。
註: 任何安全性的問題都不要盲從亂遵循,都一定要評估判斷過
Syscall Auditing/Blocking
大部分的情況下,Linux/Docker 處理關於系統呼叫 Auditing/Blocking 兩方面所帶來的效能影響幾乎微乎其微,不過當系統每秒執行數百萬個系統呼叫時,這些額外的效能負擔則不能忽視,如果仔細觀看前述的火焰圖的話就會發線 audit/seccomp 等數量也不少。
Linux Kernel Audit 子系統提供了一個機制來收集與紀錄任何跟安全性有關的事件,譬如存取敏感的機密檔案或是呼叫系統呼叫。透過這些內容可以幫助使用者去除錯任何不被預期的行為。
Audit 子系統於 Amazon Linux2 的環境下預設是開啟,但是本身並沒有被設定會去紀錄系統呼叫的資訊。
即使 Audit 子系統沒有真的去紀錄系統呼叫的資訊,該子系統還是會對每次的系統呼叫產生一點點的額外處理,所以作者透過 auditctl -a never,task 這個方式來將整體關閉。
註: 根據 Redhat bugzilla issue #1117953, Fedora 預設是關閉這個行為的
Docker/Container 透過一連串 Linux Kernel 的機制來隔離與控管 Container 的執行權限,譬如 namespace, Linux capabilities., cgroups 以及 seccomp。
Seccomp 則是用來限制這些 Container 能夠執行的系統呼叫類型
大部分的容器化應用程式即使沒有開啟 Seccomp 都能夠順利的執行,執行 docker 的時候可以透過 --security-opt seccomp=unconfined 這些參數告訴系統運行 Container 的時候不要套用任何 seccomp 的 profile.
將這兩個機制關閉後,系統帶來的效能提升了 11%,從 446k req/s 提升到 495k req/s。
從火焰圖來看,關閉這兩個設定後,syscall_trace_enter 以及 syscall_slow_exit_work 這兩個系統呼叫也從火焰圖中消失,此外作者發現 Amazon Linux2 預設似乎沒有啟動 Apparmor 的防護,因為不論有沒有關閉效能都沒有特別影響。
Disabling iptables/netfilter
再來的最佳化則是跟網路有關,大名鼎鼎的 netfilter 子系統,其中非常著名的應用 iptables 可以提供如防火牆與 NAT 相關功能。根據前述的火焰圖可以觀察到,netfilter 的進入 function nf_hook_slow 佔據了大概 18% 的時間。
將 iptables 關閉相較於安全性來說比較沒有爭議,反而是功能面會不會有應用程式因為 iptables 關閉而不能使用。預設情況下 docker 會透過 iptables 來執行 SNAT與 DNAT(有-p的話)。
作者認為現在環境大部分都將 Firewall 的功能移到外部 Cloud 來處理,譬如 AWS Security Group 了,所以 Firewall 的需求已經減少,至於 SNAT/DNAT 這類型的處理可以讓容器與節點共享網路來處理,也就是運行的時候給予 “–network=host” 的模式來避免需要 SNAT/DNAT 的情境。
作者透過修改腳本讓開機不會去預設載入相關的 Kernel Module 來達到移除的效果,測試起來整體的效能提升了 22%,從 495k req/s 提升到 603k req/s
註: 這個議題需要想清楚是否真的不需要,否則可能很多應用都會壞掉
作者還特別測試了一下如果使用 iptables 的下一代框架 nftables 的效能,發現 nftables 的效能好非常多。載入 nftables 的kernel module 並且沒有規則的情況下,效能幾乎不被影響(iptables 則相反,沒有規則也是會影響速度)。作者認為採用 nftables 似乎是個更好的選擇,能夠有效能的提升同時也保有能力的處理。
不過 nftables 的支援相較於 iptables 來說還是比較差,不論是從 OS 本身的支援到相關第三方工具的支援都還沒有這麼完善。就作者目前的認知, Debian 10, Fedora 32 以及 RHEL 8 都已經轉換到使用 nftables 做為預設的處理機制,同時使用 iptables-nft 這一個中介層的轉換者,讓所有 user-space 的規則都會偷偷的轉換為底層的 nftables。
Ubuntu 似乎要到 20.04/20.10 的正式版本才有嘗試轉移到的動作,而 Amazon Linux 2 依然使用 iptables 來處理封包。
下篇文章會繼續從剩下的五個最佳化策略繼續介紹
https://talawah.io/blog/extreme-http-performance-tuning-one-point-two-million/
同時也有6部Youtube影片,追蹤數超過2萬的網紅Wilson說給你聽,也在其Youtube影片中提到,#WiFi分享器 #光世代 #數據機 #橋接模式 #路由器 [CC字幕] 光世代 WiFi分享器 設定 !中華電信 光世代 數據機 (modem) 如何安裝設定最適合? 到底要用路由器模式還是AP模式(橋接模式)? - Wilson說給你聽 時間軸 00:00 開場 00:50 常見的數據機上網模式...
nat模式 在 Salud 侍酒夏娃 Facebook 的最讚貼文
——-賭徒與Verdejo——
要我說出Verdejo是個什麼的特色,一下子我還真的說不出來
熟透了熱帶柑橘百香果鳳梨的香氣,簡單到輕浮
酸度低,酒精度高,有時再趕個流行加個木桶香氣,口感肥肥嫩嫩
這是大多數Verdejo 的樣貌,也是市場導向所雕塑下的樣貌
結果西班牙Verdejo 的命運就這樣被釘死在便宜大量的超市、廉價餐酒館裡被拿來當水喝,喝完還說不清剛到底喝到什麼的酒
最近釀酒方式吹起了顛覆風
姑且不論你愛不愛自然酒
但自然派的崛起讓釀酒有許多自由發揮的空間
泡皮、泡渣、添渣、無添加二氧化硫、無過濾⋯
釀酒法不再千篇壹律或一個樣板模式互相抄襲
釀酒師們開始會依照葡萄品種各自的特性與風土領域,來微調釀酒的流程與細節
但最終的目的還是還原品種的樣貌
賭徒Ismael 重新還給Verdejo 該有的樣子
他固執地將一手牌幾乎全部只梭哈在Verdejo上
從年輕、過木桶、陶甕、泥甕、pet nat 氣泡、泡皮、泡渣、無二氧化硫添加,全部都來
也霸氣的跳脫DO,不甩Rueda產區無意義的釀酒框架
在Ismael手下的Verdejo
是乾淨精緻
是酸度俐落飄揚
是優雅不喧囂的香氣、纖瘦又充滿礦感骨架的氣質
是我完全不認識、沒見過的Verdejo
是我相見恨晚的Verdejo
如果你偏偏是個用實驗組+對照組的邏輯研究葡萄酒的人,他的Verdejo 可以會是你難得遇到的天菜選項
#徹底完美verdejo
#自然派
#microbiowine
#segovia
#spanishwine
#0SO2
#ismaelgozalowine
#salud
nat模式 在 一一。細說愛生活 YatYat Family Life Facebook 的最讚貼文
#把學習還給孩子
#主動學習
#留言有片睇
主動學習的代價是不能心急,這天一一上phonics主動說了O for Orange,是老師沒有教過的字。
Orange很容易吧!在A for Astronaut, A for Alligator的世代,O for Orange 實在沒法入流。
但O for Orange是一一用story phonics想岀來的答案,我家沒有一套英文生字卡,一一背不到A-Z for what,不過這樣無阻她對英文的熱情,尤其接觸phonics後,她的世界大了很多,我曾經想過幼稚園行Home Schooling,但最後我發現,一一喜歡有系統的 #彈性學習。
一一的Phonics是在Tadpoles 上,幾個朋友仔一齊上,齊齊 #朋友變同學👨🎓。Tadpoles的老師是NET teacher,上堂的聲線連家長都覺得好soft好舒服,真正係「溫柔而堅定」🤩每次都成功令一一跟佢一齊做動作讀英文。
一一不是勤奮型學生,但上堂的時候老師會經常問問題,學習有系統得來又會引導不同的思考方式,玩住學會吸收得快好多🤣大家見佢學得咁開心,係因為我揀啱適合佢嘅教學形式😎(媽媽應記一功)
Oxford的故事模式好適合小朋友發揮創意,令到佢課堂外都多咗好多思考空間,大家有沒有試過同小朋友Free Drawing and Writing? 例如同一一畫畫,我畫左條魚,佢會問條魚叫咩名(Story Phonics內所有人/動物都有名字)佢叫條魚做NAT(我問左好多次佢都肯定係咁串),然後佢要我畫個魚網(NET)去捉佢,NAT 同NET發音係一樣,但我唔知點解佢會覺得NAT係名。
又或者佢地會將發音近似的字聯想在一起,同佢地溝通會好好笑😆有次做填色練習,圖中有架火車,一一油完紫色,爸爸想叫佢轉下其他顏色(change the color) , 爸爸每講一次,一一就問爸爸”change the train color?“🤣
Tadpoles有實體班,但Zoom課又可以比我呢啲不住在附近,又想上好課程的家長參加,知道老師點教又會更加放心,亦有朋友仔選擇Tadpoles係因為想小朋友追上學校的進度。
Tadpoles師資好價錢又不會太貴,如果有朋友仔想試Tadpoles的Oxford Story Phonics,可以留言「Tadpoles」查詢優惠😊
Tadpoles Learning Centre
🔗https://www.tadpoleskids.com/
👉🏻邀請大家加入我的愉快學習群組
https://www.facebook.com/groups/yatyathappylearning/
#一一愛學習 #phonics #oxfordstoryphonics
nat模式 在 Wilson說給你聽 Youtube 的精選貼文
#WiFi分享器 #光世代 #數據機 #橋接模式 #路由器
[CC字幕] 光世代 WiFi分享器 設定 !中華電信 光世代 數據機 (modem) 如何安裝設定最適合? 到底要用路由器模式還是AP模式(橋接模式)? - Wilson說給你聽
時間軸
00:00 開場
00:50 常見的數據機上網模式
02:38 路由器硬撥接
04:06 雙NAT環境
05:30 路由器橋接模式
06:31 路由器安裝位置建議與測試
常常有人會問 因為家裡光世代配的機器訊號不佳 所以要買個好的WiFi分享器來用 但是安裝上去之後 偶爾會發現打電動比較不順暢 或是甚至無法連線 或是聽人家說要用橋接模式啥的 這一片Wilson就剛好老家重新裝潢 所以我家將裡的網路重新整理過 順便分享一下常見的數據機設定 如何將路由器設定的跟數據機相容呢?
nat模式 在 雷槍 Youtube 的最讚貼文
Multistreaming with https://restream.io/
◆ 喜歡的話就 訂閱 我的頻道吧! 別忘了按 訂閱 旁邊的 小鈴鐺 哦~ ◆
☆ 贊助Donation:https://streamlabs.com/雷槍
(Donate可點Youtube歌/影片,敬請注意不要涉及色情血腥暴力)
◆ 請不要劇透、暴雷新關卡、提供任何情報都是不需要的 ◆
◆ 曬卡請詳細看下方☆局中法度☆ ◆ ◆ 曬卡請詳細看下方☆局中法度☆ ◆
---------------------------------------------------------------------------------------------------------------------------------------------------
★ 關於開台時間 ★
☆ 平日通常 19:00 至 20:00 開始
☆ 週末/有活動 16:00 至 18:00 開始
★ 要合作、聯繫,可以來信至雷槍的郵件:kylerkwokyk@gmail.com
★ 幾乎每天都會有 影片 / 直播,如果幾天沒出的話將在Facebook/Discord上告示!
☆ 技術很爛經常手殘、老馬台 ~ 開車要限速哦 ~ 歡迎大家來聊天 ~
---------------------------------------------------------------------------------------------------------------------------------------------------
✿ 雷槍 ✿
☆ Facebook粉絲專頁:https://www.facebook.com/THLancer
☆ Discord群組:https://discord.gg/NfXnBPu
☆ Twitch直播間:https://www.twitch.tv/th_lancer
✿ 碎碎念的P子小姐 ✿
☆ Facebook粉絲專頁:https://www.facebook.com/MSPKO327/
☆ https://www.youtube.com/channel/UCF_x0yQCNgTyJGfOIpQMAdw ☆
---------------------------------------------------------------------------------------------------------------------------------------------------
☆ 鳴謝:
12月:
CCC -13.5美 Lag Evo - 15 HK 飛鳥翔太 - 100 HK Lat Nat - 150 NT
夏木川瀬 - 1000¥ mei - 1000¥ 卡欸蝶- 75 NT Zhe Zhe Wong - 10 HK
loersv003 - 7美 Maya - 10.5美 Zhengjue - 2美 ppoi - 2美
默影shadow - 30 NT 何绍昌 - 50 HK Silver Scarlet - 30 HT
---------------------------------------------------------------------------------------------------------------------------------------------------
☆ 局中法度:https://www.facebook.com/pg/THLancer/about/?ref=page_internal
( EX9 )關於曬卡方面,從2018年6月14日開始修訂。尤其是開新卡池後,請勿“惡意曬卡”和“花式曬卡”,包括“海豹行為”。本台歡迎大家互相分享快樂的經驗,但是請勿把自己的快樂建立在別人的痛苦之上!無論是開台還是群組,“惡意”和“花式”曬卡都會遭到嚴懲!希望大家互相理解(例:10連出貨 - 改成 - 終於出貨了、低於100抽/1單半都被禁止)如果是非洲了,歡迎來求抱(笑)
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ FGO封面圖 ◆
☆ 封面:
布拉達:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72141774
.
梅芙:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=57988262
BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72026393
.
☆ 右圖:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72223464&from_sid=4054941799
.
(背景)BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=68808300
(協力)https://www.pixiv.net/member_illust.php?mode=medium&illust_id=71357884
(完結)https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61904605
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ 繁中FGO ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=62622972
背景(櫻):https://www.pixiv.net/member_illust.php?mode=medium&illust_id=71552092
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ 聊天臺 ◆
BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72026393
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ OSU模式 ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=66355382
雷槍OSU歌單包 ver 1.0:https://drive.google.com/open?id=1_PbFIhQ223It_LyV5cXz1n6ApFwcp3Xw
阿福的主題:https://forum.gamer.com.tw/C.php?bsn=18601&snA=7234&tnum=2&subbsn=8
◆ OSU守則 ◆
1. 演奏中回不到訊息
2. 下載雷槍專屬歌單包才可參與遊玩
3. 不設點播
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ NOBU模式 ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=53868802
背景:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=19651351
---------------------------------------------------------------------------------------------------------------------------------------------------
主要直播遊戲:
★ Fate/Grand Order(日/繁中服)
★ 信長の野望(創造) ---------- (不定期)
★ OSU(觀眾臺) ---------- (不定期)
------------------------------------------------------------------------------------------------------------
日本FGO官網:https://www.fate-go.jp/
茹西教主攻略網:http://kazemai.github.io/fgo-vz/
日本攻略網:https://appmedia.jp/fategrandorder
OSU官網:https://osu.ppy.sh/home
------------------------------------------------------------------------------------------------------------
nat模式 在 雷槍 Youtube 的最佳貼文
Multistreaming with https://restream.io/
◆ 喜歡的話就 訂閱 我的頻道吧! 別忘了按 訂閱 旁邊的 小鈴鐺 哦~ ◆
☆ 贊助Donation:https://streamlabs.com/雷槍
(Donate可點Youtube歌/影片,敬請注意不要涉及色情血腥暴力)
◆ 請不要劇透、暴雷新關卡、提供任何情報都是不需要的 ◆
◆ 曬卡請詳細看下方☆局中法度☆ ◆ ◆ 曬卡請詳細看下方☆局中法度☆ ◆
---------------------------------------------------------------------------------------------------------------------------------------------------
★ 關於開台時間 ★
☆ 平日通常 19:00 至 20:00 開始
☆ 週末/有活動 16:00 至 18:00 開始
★ 要合作、聯繫,可以來信至雷槍的郵件:kylerkwokyk@gmail.com
★ 幾乎每天都會有 影片 / 直播,如果幾天沒出的話將在Facebook/Discord上告示!
☆ 技術很爛經常手殘、老馬台 ~ 開車要限速哦 ~ 歡迎大家來聊天 ~
---------------------------------------------------------------------------------------------------------------------------------------------------
✿ 雷槍 ✿
☆ Facebook粉絲專頁:https://www.facebook.com/THLancer
☆ Discord群組:https://discord.gg/NfXnBPu
☆ Twitch直播間:https://www.twitch.tv/th_lancer
✿ 碎碎念的P子小姐 ✿
☆ Facebook粉絲專頁:https://www.facebook.com/MSPKO327/
☆ https://www.youtube.com/channel/UCF_x0yQCNgTyJGfOIpQMAdw ☆
---------------------------------------------------------------------------------------------------------------------------------------------------
☆ 鳴謝:
12月:
CCC -13.5美 Lag Evo - 15 HK 飛鳥翔太 - 100 HK Lat Nat - 150 NT
夏木川瀬 - 1000¥ mei - 1000¥ 卡欸蝶- 75 NT Zhe Zhe Wong - 10 HK
loersv003 - 7美 Maya - 10.5美 Zhengjue - 2美 ppoi - 2美
默影shadow - 30 NT 何绍昌 - 50 HK Silver Scarlet - 30 HT
---------------------------------------------------------------------------------------------------------------------------------------------------
☆ 局中法度:https://www.facebook.com/pg/THLancer/about/?ref=page_internal
( EX9 )關於曬卡方面,從2018年6月14日開始修訂。尤其是開新卡池後,請勿“惡意曬卡”和“花式曬卡”,包括“海豹行為”。本台歡迎大家互相分享快樂的經驗,但是請勿把自己的快樂建立在別人的痛苦之上!無論是開台還是群組,“惡意”和“花式”曬卡都會遭到嚴懲!希望大家互相理解(例:10連出貨 - 改成 - 終於出貨了、低於100抽/1單半都被禁止)如果是非洲了,歡迎來求抱(笑)
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ FGO封面圖 ◆
☆ 封面:
布拉達:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72141774
.
梅芙:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=57988262
BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72026393
.
☆ 右圖:https://twitter.com/cis05/status/1075735729714585600?s=21
.
(背景)BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=68808300
(協力)https://www.pixiv.net/member_illust.php?mode=medium&illust_id=71357884
(完結)https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61904605
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ 繁中FGO ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=62622972
背景(櫻):https://www.pixiv.net/member_illust.php?mode=medium&illust_id=71552092
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ 聊天臺 ◆
BB:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=72026393
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ OSU模式 ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=66355382
雷槍OSU歌單包 ver 1.0:https://drive.google.com/open?id=1_PbFIhQ223It_LyV5cXz1n6ApFwcp3Xw
阿福的主題:https://forum.gamer.com.tw/C.php?bsn=18601&snA=7234&tnum=2&subbsn=8
◆ OSU守則 ◆
1. 演奏中回不到訊息
2. 下載雷槍專屬歌單包才可參與遊玩
3. 不設點播
---------------------------------------------------------------------------------------------------------------------------------------------------
◆ NOBU模式 ◆
封面:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=53868802
背景:https://www.pixiv.net/member_illust.php?mode=medium&illust_id=19651351
---------------------------------------------------------------------------------------------------------------------------------------------------
主要直播遊戲:
★ Fate/Grand Order(日/繁中服)
★ 信長の野望(創造) ---------- (不定期)
★ OSU(觀眾臺) ---------- (不定期)
------------------------------------------------------------------------------------------------------------
日本FGO官網:https://www.fate-go.jp/
茹西教主攻略網:http://kazemai.github.io/fgo-vz/
日本攻略網:https://appmedia.jp/fategrandorder
OSU官網:https://osu.ppy.sh/home
------------------------------------------------------------------------------------------------------------