本文延續前篇效能校正的經驗談,上篇文章探討了關於應用程式本身可以最佳化的部分,包含了應用程式以及框架兩個部分。本篇文章將繼續剩下最佳化步驟的探討。
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/
同時也有9部Youtube影片,追蹤數超過8萬的網紅かじまっくチャンネル,也在其Youtube影片中提到,#iPadAir第3世代 #iPadPro2020 #MacBookAir2020 最高最強のiPad Proを抑えてボク的No.1の座を勝ち取ったiPadはiPad Air第3世代でした! その理由はこちらの動画でもご覧頂けます! 新しいiPadPro 2020 iPadAir第3世代と比べてみ...
pipeline os 在 BorntoDev Facebook 的最佳貼文
⌛ ปฏิเสธไม่ได้เลยว่าอาชีพ DevOps ก็กำลังมาแรงมากในยุคนี้เช่นกัน อีกทั้งยังเป็นอาชีพที่มีค่าตัวสูงมากๆ ทำให้ใครหลายๆ คนจึงอยากทำอาชีพนี้
.
💡 DevOps พูดกันง่ายๆ คืออาชีพที่จะช่วยเชื่อมกระบวนการพัฒนาโปรแกรม ไปจนถึงขั้น Deploy รวมถึงการติดตามสถานะการทำงานของโปรแกรม และนำมาปรับปรุงพัฒนาให้มีประสิทธิภาพยิ่งขึ้น
.
👉 สิ่งสำคัญที่ต้องเรียนรู้หากอยากจะทำอาชีพนี้มีอะไรบ้าง? วันนี้แอดสรุปคร่าวๆ มาให้แล้วจ้า
.
✨ 1) ต้องมีแนวคิดในการพัฒนาซอฟต์แวร์
ซึ่ง DevOps อาจจะไม่ต้องเขียนโปรแกรมโดยตรง แต่ต้องมีความรู้ที่ครอบคลุมและทำงานร่วมกับทีม Developer เพื่อพัฒนาปรับปรุงโปรแกรมให้เป็นไปตาม Flow มากที่สุด
.
✨ 2) ต้องมีความรู้พื้นฐาน Linux
การทำงานจะต้องจัดเตรียมโครงสร้างต่างๆ ซึ่งส่วนใหญ่จะทำบนเซิร์ฟเวอร์ และเซิร์ฟเวอร์ส่วนใหญ่ก็จะใช้ OS เป็น Linux ดังนั้นจึงต้องมีความรู้ด้านนี้มาบ้าง เช่น คำสั่ง Command Line พื้นฐาน, SSH Key เป็นต้น
.
✨ 3) Networking & Security
เช่นการ Configure Firewalls, HTTP/HTTPS, โครงสร้าง IP addresses และ DNS เป็นต้น
.
✨ 4) Docker
DevOps ส่วนใหญ่จะใช้งาน Docker กันเป็นหลัก หากใครยังไม่มีพื้นฐานสามารถเข้าไปเรียนได้ฟรีได้ที่ลิงค์นี้เลย >> https://www.youtube.com/watch?v=3c-iBn73dDE
.
✨ 5) CI/CD
เป็นกระบวนการ Monitor การพัฒนาแอปพลิเคชันแบบอัตโนมัติ ตั้งแต่การนำโค้ดมา Merge กัน ไปจนถึงการทดสอบเพื่อ Deploy ขึ้น Production ซึ่งเราควรเรียนรู้เครื่องมือต่างๆ ที่จะทำ CI/CD อย่างเช่น CI/CD pipeline, การ Set Up CI/CD, การใช้งาน Docker Image เป็นต้น
.
✨ 6) ผู้ให้บริการ Cloud
ซึ่งในหลายบริษัทใช้บริการโครงสร้าง Cloud สำเร็จรูป โดยที่ไม่ต้องออกแบบ IaaS เอง ซึ่งเราควรเรียนรู้ และใช้เครื่องมือต่างๆ ของระบบ Cloud นั้นๆ ไว้บ้าง ซึ่งที่ฮิตกันตอนนี้ก็มี AWS, Azure, และ Google Cloud เป็นต้น
✨ 7) Kubernetes
เป็นที่นิยมอย่างมากในการใช้จัดการ Containers บนเซิร์ฟเวอร์ต่างๆ และเราก็ควรเรียนรู้ว่ามันทำงานยังไง มีคำสั่งอะไรบ้าง หากใครสนใจอยากเรียนพื้นฐานการใช้งาน Kubernetes แบบฟรีๆ คลิกลิงค์ได้เลยจ้า >> https://www.youtube.com/watch?v=X48VuDVv0do
.
✨8) ภาษา Script
การจัดการแอปพลิเคชันแบบอัตโนมัติก็ต้องมีการเขียน Script เพื่อให้มันทำงานตาม Flow จึงจำเป็นที่จะต้องเขียนภาษา Script พื้นฐานให้เป็นด้วย เช่น Python, Ruby, NodeJS และ Go
.
✨ 9) การใช้งาน Git
จำเป็นต้องรู้โครงสร้าง และคำสั่งพื้นฐานในการใช้งาน Git เพื่อช่วยจัดการและติดตามการเปลี่ยนแปลงของโค้ด และการอัปเดตเวอร์ชันต่างๆ ก่อน Deploy ขึ้น Production
.
✨ 10) พื้นฐาน Infrastructure
ต้องรู้จักเครื่องมือต่างๆ ที่ใช้ในการจัดการ Infrastructure อย่างมีประสิทธิภาพ เช่น Ansible, Puppet, และ Chef เป็นต้น
.
หากใครมีประเด็นเพิ่มเติม หรือพี่ๆ คนไหนที่กำลังทำอาชีพนี้ มีสิ่งที่อยากจะแชร์ให้กับเพื่อนๆ หรือน้องๆ ที่สนใจ สามารถคอมเมนต์ไว้ใต้โพสนี้เลยนะคะ 😍
.
❤️ หวังว่าข้อมูลนี้จะเป็นประโยชน์กับเพื่อนๆ น้า
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
pipeline os 在 軟體開發學習資訊分享 Facebook 的最佳解答
DevOps 技能需求量很大,但是沒有快速獲得這些知識的方法。 本課程將提供你開始在 Azure 運用 DevOps 所需的所有資訊,而不是依賴於這邊敲敲打打那邊試試的方法。
如果你想在這個不斷發展的領域中脫穎而出,並且通過一個簡單而有趣的課程成為一個 DevOps 專家,那麼這是為你準備了一個完美的課程!
本課程將涵蓋諸如 DevOps 的介紹,為什麼它會成為熱門話題以及它是如何產生的等主題。
它還包括將一個非常基本的 web 應用程式佈署到 Azure VSTS (Visual studio team services) ,運用 Jenkins 配合 CI 和 CD 工具。 下一節將介紹可以通過 azure 虛擬機器( VM )佈署 web 應用程式的 VSTS、 CI 和 CD 工具。 本課程的第四部分將介紹容器( Containers )以及如何從 AWS 雲端平臺中獲益。
我們還將向你簡要介紹 Kubernetes、 Docker Swarm 和 DC/OS (資料中心作業系統,Datacenter Operating System)等現有的容器編排( Container orchestration )技術,並舉例說明如何選擇 Kubernetes 等編排技術。
最後,我們將引導你使用 Azure kubernetes 服務,在這裡你將學習如何在雲端實際託管這些編排技術。 最後但並非最不重要的是,我們將設定在 Azure kubernetes 服務以及在 jenkins 和 kubernetes 在 azure VM 的 DevOps 設定
🔥 udemy 目前有優惠特價,請更新 coupon code http://bit.ly/2O0wbOm
https://softnshare.com/learn-to-build-devops-pipeline-on-azure-cloud/
pipeline os 在 かじまっくチャンネル Youtube 的最佳貼文
#iPadAir第3世代 #iPadPro2020 #MacBookAir2020
最高最強のiPad Proを抑えてボク的No.1の座を勝ち取ったiPadはiPad Air第3世代でした!
その理由はこちらの動画でもご覧頂けます!
新しいiPadPro 2020 iPadAir第3世代と比べてみた:https://youtu.be/RBe2BPF13OE
結局今回またiPadAir第3世代をメイン機として迎え入れたお話しです(^^ゞ
Amazon
Apple iPad Air (10.5インチ, Wi-Fi, 256GB) - シルバー (最新モデル)
https://amzn.to/2ZkVlPn
※正直ちょっと指すべりいまいちなガラスはこちら
iPad Air 3(2019)/ iPad Pro 10.5 ガラスフィルム保護
https://amzn.to/3e6qhr1
最新モデル Apple iPad Pro (11インチ, Wi-Fi, 128GB) - スペースグレイ (第2世代)
https://amzn.to/2ZmG68S
楽天市場
アップル iPadAir 第3世代 Wi-Fi 256GB Silver
https://a.r10.to/hIgIIe
アップル iPadPro 11インチ 第2世代 128GB スペースグレイ Wifiモデル
https://a.r10.to/hIyxmw
新しいMacBook Air - Apple
https://www.apple.com/jp/macbook-air/?afid=p238%7CscOqskEBu-dc_mtid_18707vxu38484_pcrid_426594807809_pgrid_13140808221_&cid=aos-jp-kwgo-Mac--slid---product--
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
楽天カード新規入会&利用でもれなく5000ポイント!
更に対象期間内に楽天銀行口座開設&入金で1000ポイント!
https://a.r10.to/hIXIAU
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
※上記楽天リンクは楽天アフィリエイトリンクを使用してます。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8

pipeline os 在 かじまっくチャンネル Youtube 的精選貼文
#新しいiPadPro #iPadPro2020 #KlearLook
【KlearLook提供】
どれだけ不器用でもちゃんと張れちゃうガイド付き!
Apple Pencilとの相性も良い感じ!
iPad Proをノングレア化出来るKlearLookの保護ガラスのご紹介です(^^ゞ
iPad Pro 11 (2020 / 2018) ガラスフィルム 「ゲーム好き人系列」アンチグレア 「Face ID対応 ケースに干渉せず」サラサラ 反射防止 指紋防止 液晶保護フィルム 硬度9H 貼り付け易い道具付き
割引クーポン:HW74JS88
https://amzn.to/3a5gnmS
タブレット スタンド 卓上 Klearlook【揺れず頑丈な金属製台座・12.9インチ程対応・360度回転可能】スマホホルダー iPad スタンド アーム 横/縱/仰向け 持ち運び易い For iPad/Kindle/Nintendo Switch/android/iPhone多機種対応 ‐ブラック
割引クーポン:WIMHAYIH
https://amzn.to/3a1tAx2
以上2点の割引クーポン有効期限:2020/04/21 23:59迄です。
※売り切れ、急遽変更となる場合もございます、ご了承下さい。
最新モデル Apple iPad Pro (11インチ, Wi-Fi, 128GB) - シルバー (第2世代)
https://amzn.to/2JZDPaA
Apple Pencil(第2世代)
https://amzn.to/3a4ibg1
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
かじまっくチャンネル中の人(ブログお休み中):https://kajimack.blogspot.jp/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8

pipeline os 在 かじまっくチャンネル Youtube 的精選貼文
#TCLPLEX #Android10 #SIMフリースマホ
昨年末、激安で販売開始されたTCL PLEXにメジャーアップデート!
お菓子のコードネームが無くなって寂しいAndroid10へアップデートされましたww
ボクが気になった3つのポイント試してました(^^ゞ
TCL PLEX Opal White ホワイト トリプルカメラ 4800万画素 超広角 専用クリアケース付属 大容量メモリ 6GB/128GB android 9.0 格安スマホ スマホ本体 【正規代理店販売】
https://amzn.to/2WZjCcA
TCL PLEXのAndroid™ 10 OSアップデートに関するご案内
https://foxinc.jp/pr/2769/
4月入荷予定 ご予約受付中 TCLTCL 6.53型SIMフリースマートフォン TCL Plex オブシディアンブラック T780H-2ALCJP12
https://paypaymall.yahoo.co.jp/store/murauchi/item/4580678543420/?sc_i=shp_pc_search_itemlist_shsrg_title
標準カメラを無音化 無音モードアプリ(カメラ特化版) スクショは手動切替で対応
https://play.google.com/store/apps/details?id=jp.sisyou.kumikashi.mutedefaultcamera
過去動画
TCL PLEX 29,800円 激安高性能スマホ爆誕! お正月開封編
https://youtu.be/BKBLf4G4VM4
TCL PLEX 格安スマホ しばらく使ってみた スーパーBluetoothとは?
https://youtu.be/iIclUDVfNxE
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
かじまっくチャンネル中の人(ブログお休み中):https://kajimack.blogspot.jp/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8
モザイク ぼかし & モザイク加工アプリ
https://apps.apple.com/jp/app/%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF-%E3%81%BC%E3%81%8B%E3%81%97-%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E5%8A%A0%E5%B7%A5%E3%82%A2%E3%83%97%E3%83%AA/id964220645
MovStash
https://itunes.apple.com/us/app/movstash/id1058281885?mt=8
Luma Fusion
https://itunes.apple.com/jp/app/lumafusion/id1062022008?mt=8
iOSのためのGarageBand
https://www.apple.com/jp/ios/garageband/
iVOCALOID-VY1
https://itunes.apple.com/jp/app/ivocaloid-vy1/id396081265
Antutu Benchmark
Android:https://play.google.com/store/apps/details?id=com.antutu.ABenchMark&hl=ja
iOS:https://itunes.apple.com/jp/app/antutu-benchmark/id803837129?l=en&mt=8
