1. 程式人生 > >網際網路企業伺服器資源的分配與利用

網際網路企業伺服器資源的分配與利用

        機緣巧合, 有幸在科大校園聽了京東集團副總裁、京東商城總架構師劉海峰校友作的關於大規模分散式系統在京東的狀況和解決方案。他從資料中心作業系統、中介軟體系統、資料庫,儲存與計算系統、圖片系統與智慧應用、商城整體架構升級五個方面,系統層次的介紹了京東的硬體的架構與管理。對於如何解決硬體伺服器資源的不足的問題上, 讓我印象深刻和觸發我思考應該就是三個關鍵字:超賣、混搭和智慧。

        京東基於以上的思想以及一系列的平臺方案,輕鬆、成功地應對了2017的618大促活動, 在2017年,資源的部分給整個公司節省了2億人民幣的成本,以收入減成本的公司來運算,這2億就是增加的淨利潤了。接下來,京東還會從廣度和深度繼續進行改進, 甚至包含對伺服器的用電節約的優化, 他們的目標是每年節省10億人民幣的成本。

        其實京東在伺服器資源的這三方面思想聽起來都很容易理解,但是每一項在真正的實際運用中包含著巨大的工作量和較高的難度。超賣要解決作業系統資源顯示的偽裝,混搭要解決資源的動態分配等,而智慧需要面對的問題就更復雜了, 大資料的收集、讀取以及相關AI演算法的選擇和模型的搭建。

        聯合自己所在公司的狀況, 可能也是絕大多數網際網路企業的狀況。伺服器、空間、CPU、Memory這些資源作為服務執行的平臺,各個服務的維護者希望是越大越好,多多益善。無間斷提供服務已是一個最基本的目標,而系統的使用總是有峰有谷的,基於此每個維護者都是按照峰值來進行伺服器資源配置的申請,而且在這個峰值的基礎上在預留buffer,甚至double一下。有的服務甚至不去考慮資源的使用狀況, 直接頂配申請。好像伺服器配置不夠規則,相關的服務的檔次就不高, 沒有技術含量。而實際使用中, 往往是很多資源都處於閒置和浪費。沒有人來監控、也沒有人來優化。伺服器資源的成本增長遠遠大於公司的業務增長。

         如果將伺服器本身的效能升級作為技術的話, 這裡討論的其實都是管理問題。如何合理有效的管理和分配伺服器資源?

        超賣通俗的解釋就是你問我申請多少資源, 我給你多少資源, 但實際上這些資源是打過折的, 只不過申請人感覺不出來。舉例來說, 有一個部門因為某個專案或是服務的需求申請一個8核 CPU、4G記憶體 、 100G硬碟的資源,好, 那我給你,而且你看到的配置似乎也是這樣的, 但是實際上或許配置都折半。這裡,你可能有疑問,我自己使用命令列或是資源管理器看一下不就知道了嗎? 這裡就需要對作業系統做一些改動,最好可以是基於linux定製自己的作業系統。

        混搭就是讓服務的執行時段錯開, 對於京東來說, 有很多線上的商品售賣服務,這個不用多介紹了,就是訪問京東的網站;也有很多是後臺的一些運算服務, 比如一些資料的統計和運算。這兩個服務的執行時間可以錯開來。比如白天把更多資源給線上服務, 晚上則調配更多的資源給後臺運算。

        智慧則是使用大資料和AI相關的技術,達到對資源更合理的分配。AI包含的內容就太多了, 留待以後再來討論吧 。

相關推薦

網際網路企業伺服器資源分配利用

        機緣巧合, 有幸在科大校園聽了京東集團副總裁、京東商城總架構師劉海峰校友作的關於大規模分散式系統在京東的狀況和解決方案。他從資料中心作業系統、中介軟體系統、資料庫,儲存與計算系統、圖片系統與智慧應用、商城整體架構升級五個方面,系統層次的介紹了京東的硬體的架構與

作業系統原理第五章(資源分配排程)

一、資源管理             1.資源的動態分配:程序所需的資源是在程序執行中根據執行情況動態的分配、使用和釋放的。                        靜態分配:批處理作業系統中,對作業一級採用資源靜態分配方法。作業所需要的資源是在排程到這個作業的時候,根

互聯網企業靜態資源的部署,如何充分利用瀏覽器緩存機制

本地 客戶 方式 sta blog scss tro 利用 exp 瀏覽器獲取靜態資源方式:緩存、版本 從html文件中解析出靜態資源的url,查看本地緩存是否存在、是否過期,是否需要重新獲取。根據url全路徑匹配查找是否存在,根據header的字段expire/cac

java利用socket實現客戶端伺服器的連線資料傳遞

網路上的兩個程式通過一個雙向的通訊連線實現資料的交換,這個雙向鏈路的一端稱為一個 socket。socket 也就是套接字,可以用來實現不同虛擬機器或者不同計算機之間的通訊。在 Java 語言中,socket 可以分為兩種型別:面向連線的 socket 通訊協議(TCP)和麵向無連線的 socket

【Enweitech Software Works】創新實踐。致力於軟體與網際網路研究…專注網站建設推廣、軟體開發、雲端計算、手機APP定製、電子資訊系統整合應用、資訊保安資料管理、軟體外包、數字化解決方案和企業資訊化諮詢服務。

創新實踐。致力於軟體與網際網路研究…專注網站建設與推廣、軟體開發、雲端計算、手機APP定製、電子資訊系統整合與應用、資訊保安與資料管理、軟體外包、數字化解決方案和企業資訊化諮詢服務。...

伺服器尚未找到請求的URI(統一資源標識)匹配的任何內容”

今天搭建的的專案遇到了這樣一個問題:問題描述:開發者工具提示找不到我的css樣式因為我的專案web.xml配置了攔截器<!-- springmvc前臺的控制器 --> <servlet> <servlet-name>taotao-ma

利用openstack建設適合中小型網際網路企業的私有云(零)

年關將近,各專案已基本完成,工作暫告一段落。一直想靜下來寫點什麼,最近剛好完成生產openstack的更新換代,趁著這個機會,寫一個關於利用openstack建設適合中小型網際網路企業的私有云的系列篇

linux學習筆記2——計算機概述:記憶體、硬碟、固態硬碟、擴充套件介面、網際網路企業PC伺服器品牌及型號

一、記憶體 記憶體大概長這樣,插在主機板上。 個人電腦的記憶體主要元件為動態隨機存取記憶體(Dynamic Random Access Memory, DRAM), 隨機存取記憶體只有在通電時才能記錄與使用,斷電後資料就消失了。因此我們也稱這種RAM為揮發性記憶體。

利用動態資源分配優化Spark應用資源利用率

背景 在某地市開展專案的時候,發現數據採集,資料探索,預處理,資料統計,訓練預測都需要很多資源,現場資源不夠用。 目前該專案的資源3臺舊的伺服器,每臺的資源 記憶體為128G,cores 為24 (core可暫時忽略,以下僅考慮記憶體即可) 。 案例分析 我們先對任務分別分析,然後分類。 資料採集基於DC,接

JVM內存分配回收策略

failure ret 虛擬機 收集器 字符 設置 足夠 java 選擇 對象優先在Eden分配 大多數情況下,對象在新生代Eden區中分配。 當Eden區沒有足夠空間進行分配時,虛擬機將發起一次Minor GC。 Minor GC:新生代GC,指發生在新生代的垃圾收

內存動態分配釋放

ont 分配 rgb sig 地址 占用 註意 是把 post 內存的動態分配須要使用函數malloc。函數free和運算符sizeof來實現。函數malloc的原型是: Void* malloc(unsigned int size); 函數malloc的作用是在內存中

VxWorks Fuzzing 之道:VxWorks 工控實時操作系統漏洞挖掘調試利用揭秘

設備 coldfire 巴西 目標 自動重啟 ipv packet lec 被攻擊 轉載:freebuf 0×00 前言 關於VxWorks,這裏引用44CON議題《攻擊 VxWorks:從石器時代到星際》探究 一文章中的介紹: VxWorks 是世界上使用最廣泛的一種在嵌

.NET Framework 企業安全策略管理部署

策略管理 highlight light 步驟 工具 級別 soft true arp 執行下列步驟,以便.NET Framework 支持所有程序運行 1.打開“控制面板”。 2.打開“管理工具”文件夾。 3.雙擊“Microsoft .NET Framew

yarn架構——本質上是在做解耦 將資源分配和應用程序狀態監控兩個功能職責分離為RM和AM

沒有 占用 業界 imageview 技術分享 其他 而是 基本 mapreduce Hadoop YARN架構解讀 原Mapreduce架構 原理架構圖如下: 圖 1.Hadoop 原 MapReduce 架構 原 MapReduce 程序的流程:首先用戶程

深入淺出Mesos(四):Mesos的資源分配

http software hrp 分享 例如 自定義模塊 工作原理 ces 根據 http://www.infoq.com/cn/articles/analyse-mesos-part-04 【編者按】Mesos是Apache下的開源分布式資源管理框架,它被稱為是分布式系

Defcon 23最新開源工具NetRipper代碼分析利用

xxxxx winscp 增強 put 最大 wid follow 用戶 得到 0×01 研究背景 在分析了俄羅斯人被曝光的幾個銀行木馬的源碼後,發現其大多均存在通過劫持瀏覽器數據包來獲取用戶個人信息的模塊,通過截獲瀏覽器內存中加密前或解密後的數據包來得到數據包的明文數據。

CDH組件目錄主機資源分配端口

postgres 程序代碼 -c lib 程序 agent gre etc ima 目錄:/var/log/cloudera-scm-installer : 安裝日誌目錄。/var/log/* : 相關日誌文件(相關服務的及CM的)。/usr/share/cmf/ : 程序

指針做參數的動態內存分配二重指針(上)

我們 error 二維數組 sign 數組元素 動態內存 行動 連續 ram C中的動態內存分配問題: 格式:Int *pointer; Pointer = (int *)malloc(100 * sizeof(int)); 可以在被調用函數(該函數返回指針的函數)中動態分

指針做參數的動態內存分配二重指針(下)

-1 oid eof 元素 num inter alloc 內存分配 定義 要實現指針作為函數形參,改變實參指針的值。一般有兩種做法: 使用雙指針,或者指針數組形式作為形參,將實參的地址傳入函數,也即要給形參傳入指針的地址! http://blog.csdn.net/li

Linux硬件資源管理外設設備使用、系統運行機制及用戶管理

ips cte tde lock type 設備文件 tar 所有 需要 Linux硬件資源管理   PCI設備 顯卡 $>>dmesg |grep -i vga[ 0.000000] Console: colour