本文延續前篇效能校正的經驗談,上篇文章探討了關於Locality與中斷中可以最佳化的部分,。本篇文章將繼續剩下最佳化步驟的探討。
The Case of the Nosy Neighbor
從前述最後的火焰圖中,作者觀察到幾個跟網路有關的 kernel call,譬如 dev_queue_xmit_nit 以及 __netif_receive_skb_core 等有可能有成長的空間,於是輾轉前往這邊去研究。
作者觀察到 packet_rev 這個函式有不少的比例,而該函式的意思是有人嘗試透過使用 AF_PACKET 等方式開啟了 RAW socket 來處理封包。透過 ss 這個指令,作者觀察到系統中有其他的應用程式透過 AF_PACKET/SOCKET_RAW 也在處理封包,最後輾轉發現原來是系統上的 dhclient。
DHCP Client 必須要在系統有 IP 以前就有收送封包的能力,所以使用 AF_PACKET 也滿合理的。作者思考是否有辦法可以讓 DHCP Client 拿到 IP 之後就關閉 AF_PACKET,改使用純 UDP 的方式來進行後續的 DHCP Renewal 功能,可惜這個方向沒有辦法達成。
根據 AWS 的官方文件,當一個 IP 被分配到一個機器後,這個 IP 會跟該機器同生死,因此這種情況下 其實不需要透過 DHCP Renewal 來反覆取得 IP,只要取得一次 IP 即可。
作者變修改相關腳本,當 DHCP 取得 IP 後關閉 dhclient,此外還必須要記得去修改網卡層級關於該 IP 的記憶,預設期間是一小時,作者將其修改為永遠。
透過這樣簡單的設定,整體的效能又再度提升了 6%,從 1.06M req/s 提升到 1.12M req/s
The Battle Against the Spin Lock
作者陳述自己花了非常多時間與 Spin Lock(作者心魔的大白鯨) 奮戰,幾乎是茶不思飯不想的滿腦都在思考如何加速,然後再經歷過反反覆覆的失敗後,作者最後決定還是要寫出一些關於 Spin Lock 的嘗試與研究心得,算是一個很精彩的踩雷心得。
這部分的篇幅很長,而且內容也滿深的,最後的解決方式也只有提升 2%左右的效能,所以對這部分有興趣的讀者再自行閱讀囉
This Goes to Twelve
終於來到最後的最佳化步驟了,這個步驟中的範疇都只能勉強壓榨出些許的效能,包含了關閉 GRO, TCP壅塞控制以及靜態中斷處理。
(Generic Receive Offload)GRO 是一個網路相關的功能,目的是用來將 Kernel 層級的封包給聚合起來變成一個大封包,而 Kernel 收到這個封包後會把該大封包重新組合變成本來的小封包,對於使用者的應用程式來說不會有任何感覺,但是對於整體的封包傳輸來說能夠節省花費的並提升效能。大部分情況下這個功能都是開啟的,Amazon Linux 2 預設也是打開這個選項。
然而針對作者的測試情境,由於所有的封包基本上都是同一條連線且資料量也不大,因此 GRO 雖然可以帶來聚合的效果,但是也會拖延封包進入到 Linux Kernel Network Stack 的時間點,因此開啟 GRO 帶來的好處沒有很大。
TCP 壅塞控制有不同的演算法,Amazon Linux2 內建兩種演算法 Cubic 以及 Reno,除此這兩個之外常見的還有 Google 多年前貢獻的 BBR。根據作者測試,其實驗環境中有比較好效能的則是 Reno
註: 不同算法針對不同應用場景,所以要切換演算法前要先釐清自己的應用情境以及用哪種演算法比較合適。
全部零零總總的修改後提升了 4%,整體的效能服務來到了 1.2M reqs/s
這篇文章真的很長,有些最佳化的方式是針對該應用場景而特別去使用的,這也意味者並非所有的修正方式都可以套用到各位的應用程式。
本篇文章還是很值得一讀,整個分析的思路與想法都非常有趣,雖然不一定用得到但是也許未來有一天會有機會使用。
https://talawah.io/blog/extreme-http-performance-tuning-one-point-two-million/
socket傳輸 在 優分析UAnalyze Facebook 的最佳解答
伺服器產業開始回溫,於嘉澤(3533)營運趨勢明確有利,法人評價向上
.
🎉隨著5G浪潮的大力助攻,伺服器應用逐漸回溫,1Q21營收YoY增幅將放大, 2021年NB(筆記型電腦)應用市況將續佳,將有助TypeC連接器與線等NB應用出貨優於研究處先預期,伺服器應用短期營運已回升,根據供應鏈訪查,2021年Whitley平台嘉澤將出貨整組CPU Socket,另外,DDR SMT型產品亦將重拾成長動能,未來將受惠大改款能支援更高速運作的Eagle Stream平台將推出。
.
嘉澤4Q20營收48.25億元,優於公司原預期,原因在於缺料問題並無預期嚴重。獲利部分,因銅價上漲、新台幣升值影響,4Q20毛利率將低於3Q20,公司希望能維持39%水準,費用部分因公司導入 ERP 軟體(業務流程管理軟體)4Q20起費用會較過往高,預估4Q20 EPS 6.98元
.
未來展望
展望第一季,公司認為農曆年前訂單續強,部分 NB、Server 相關產品供不應求,包括Type-C、M.2、DDR4(SMT 製程)等,農曆年後可能會遭遇缺工問題,產能復甦狀況會是一個變數,公司認為只要客戶能解決缺料問題,便會積極下單,Server、DT、NB 展望均樂觀。
.
🕵️♀關於嘉澤(3533):
嘉澤(3533)為專業連接器/連接線製造商,在電腦週邊連接器領域全球排名第六,中央處理器插槽(CPU Socket)為全球第二大廠(僅次鴻海),全球市佔率約20~30%。
.
主要從事電子連接器的製造及銷售,以CPU Socket、I /O連接器、DRAM插槽及Slot插槽等4種連接器為主要產品,並應用於桌上型電腦主機板、筆記型電腦主機板、電腦週邊及其他電子設備。
.
轉投資「嘉基」為嘉澤持股約60%子公司,主要生產高階傳輸線束產品,和日廠Sumitomo 是全球少數通過Intel Thunderbolt認證廠商。
.
主要客戶:華碩、微星、精英、技嘉、映泰、廣達、仁寶等大廠。
.
生產基地:台灣基隆與中和、中國廣東與蘇州,主要競爭對手為鴻海、Tyco、Molex、鴻海等。
.
主要競爭對手:TDK、Kyocera、村田製作所、CMAC、Bosch。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
🔥[修正式價值投資]檢視五大評分內容:
.
不滿足股本<10億,被扣了2分
近三個月營收比去年成長並未>25%,被扣了6分
自由現金流入10年內有6年流入,被扣8 分
.
其他
營收創新高能力、獲利來自本業,皆獲得滿分。
.
1. 營收創新高能力:
近期月營收有符合24個月新高以上的條件,所以此條件獲得滿分30分。
篩選近期營收創新高的企業,股價潛力越有上漲的潛力。
.
2. 獲利來自本業:
本業稅前淨利>90,所以此條件獲得滿分10分。
(本業獲利是重要指標,若企業獲利來源是業外收入,有可能為一次性收入,並非長期,得多加注意!)
.
3. 股本小優先:
股本<20億,未滿足股本<10億,被扣2分,獲得8分。
(修正式價值投資認為股本小營收表現佳的企業,可判定為潛力股,股價容易被低估,可能是還沒被市場發掘的好公司。)
.
4. 最近3個月營收比去年成長:
近3個月營收總額比去年成長,但並未>25%,被扣了12分
(營收若比去年同期增長,表示正在擴大市場,值得投資人關注。)
.
5. 自由現金流入:
近10年,6年有自由現金流入,獲得12分,現金流一般(滿分為20分)。
檢視公司體質是否穩定,現金流穩定的公司,更有成長的本錢。
.
# [陳啟祥]修正式價值投資
https://bit.ly/3j6Msjw
#在修正式模組中獲得78分
#股票 #投資 #選股 #陳啟祥 #財富自由
socket傳輸 在 優分析UAnalyze Facebook 的精選貼文
<優分析 晨讀精選>
5G傳輸需求升級 連接器族群抗跌漲不停
隨著5G商轉,不僅大型數據資料中心建置持續成長,對連接器/線束需求大增,加5G使開放式網路趨勢成形,帶動白牌伺服器、網通設備需求,也是連接器/線業者的一大機會。
連接器大廠嘉澤3533,為中央處理器插槽(CPU Socket)全球第二大廠,因CPU升級趨勢加速CPU Socket市場成長.......
而另一連接器大廠信邦3023,則因電動車及傳統汽車需求持續.....
👇想繼續看下去 往這邊走.....👇
https://bit.ly/3oOaDGb