隨便試著寫一下考卷 賺個P幣
※ 引述《taliao (雲淡風清)》之銘言:
: 有趣的問題,來一些激盪吧~
: Q: 你怎麼知道 CRUD 分別吃多少系統資源?需要多少 IOPS / CPU?
: Q: 承上,要如何知道 CURD 吃了哪些資源?
: Q: 承上,怎麼解開這些資源的分配問題?
其實這題超難回答。實務上會分為 Script 所吃的資源跟儲存對象所吃的資源。
Script 來說 Python/Ruby/Node.js 等每個 Process 都會吃到 CPU + 記憶體
儲存對象除了 CPU 跟記憶體之外也會吃到 Disk I/O。
當你做 Create 的動作時,Script 端會需要用 CPU 跟記憶體去運算邏輯
把插入的指令傳給資料庫,資料庫除了 CPU 運算,以及將資料寫入磁碟的 I/O 外
還會視資料庫的索引跟快取優化去做其他優化的記憶體/磁碟 I/O 運算
因此一個準確的 IOPS/CPU 不太容易得出,但是我們可以透過系統監測
透過實質的 CPU、記憶體、I/O 使用率去得到系統大致的運轉狀態
並使用資料庫系統的 EXPLAIN 得知儲存上的瓶頸點
: Q: 1 個連線的 CRUD、10 個連線的 CRUD、100 個的 CRUD ..... 類推,
: 他們的架構是怎樣?
很簡單的 CRUD
1 個連線
1個實體 =============== DB
實務上的 CRUD 架構
Load balancer