iT邦幫忙

DAY 14
0

成為資料工程師最初的 28 堂課系列 第 14

資料工程師第 13/28 課: 效能調校

[修讀原因]

前面幾堂課都是很基礎的科目, 也大多是在大學部都會開的必修或必選修的課, 接下來就不是單純的大學部簡單的課了.

首先開始的就是效能調校, 這原因應該沒有甚麼人懷疑吧, 因為這邊說的 Data Engineer/Data Scientist 要處理的多是 Big Data, 就之前所提到的, 不可能所有的計算式 Big O 是在 n log n 以下, 或者說甚至是 NP-Hard, 因此算個幾千億次處理億萬筆資料跟本不為過, 要做這樣的計算與處理就是稱為 "High Performance Computing", 要做到這樣, 最重要的就是 "效能調校/Performance Tuning".

只是這系統調校是有很多層面的:

  • 作業系統層
  • 資料庫層
  • 程式層
  • 系統設計層
  • 演算法層

這邊的每一層所須要的知識都不太一樣, 而前面講到的計算機組織, 作業系統, 資料庫都是為了這時所須要來紮下基礎, 接下來就是很多實作等著我們去挑戰了.

[基本資訊]

  • 課程題目: Performance Tuning
  • 學程: 資訊相關研究所選修
  • 困難度: ***
  • 必要度: ****
  • 所須時間: **
  • 建議書輯: System Performance Tuning

[基本介紹]

系統調校的步驟如下:

  1. Assess the problem and establish numeric values that categorize acceptable behavior.
  2. Measure the performance of the system before modification.
  3. Identify the part of the system that is critical for improving the performance. This is called the bottleneck.
  4. Modify that part of the system to remove the bottleneck.
  5. Measure the performance of the system after modification.
  6. If the modification makes the performance better, adopt it. If the modification makes the performance worse, put it back the way it was.

其中最要的是幾個點:

  1. Loading: 確認負荷
  2. Bottle Neck: 確認瓶頸
  3. Scaling: 規模化
  4. Optimization: 最佳化

用到的技巧包含:

  • Load Balancing
  • Caching Strategy
  • Distributing
  • Scheduling
  • Code Optimizing

而目標方法有

  • Inception
  • Elaboration
  • Construction
  • Transition

只是就如前面所說的, 校能調校每一個層面都不一樣, 後面還是會講到不同層級的效能調校, 所以這也只是個基礎而已.

[修習方式]

電子書:

關鍵字:

  • High Avaiablility
  • Benchmark
  • Prediction
  • Software archaeology

上一篇
資料工程師第 12/28 課: 資料視覺化
下一篇
資料工程師第 14/28 課: 時間序列 / Time Series
系列文
成為資料工程師最初的 28 堂課30

尚未有邦友留言

立即登入留言