之前 WD 的特約服務中心是在 SET 復得科技那邊,但今天要送修硬碟時才發現 SET 已不再代為服務,地點改到雷德硬碟資料救援那邊去。
走路看到廣告招牌才知道這件事情,然而 WD 官方網站則完全找不到任何訊息,實在很不爽。
so … 2016/07/01 以後,WD 的服務中心改至雷德硬碟資料救援
地址:高雄市三民區建國二路152號
營業時間:請參考公司網站說明
軟體開發、伺服器和生活瑣事
一直以為 Synology 的 DSM 上面,只有預設的套件管理工具和社群套件可以安裝使用,但這實在不夠力。
昨天因為 S.M.A.R.T. 檢測失敗 (但也沒寫問題在哪裡),所以只好找 badblocks 來手動測試。badblocks 一次市要跑數個小時的,若因為網路不穩斷線會導致 process 被中斷,只能重跑,至少要裝個 session / screen manager 來支援 (我習慣用 GNU screen)。
後來搜尋後找到 ipkg 這項套件管理工具,安裝完畢以後可以用類似 ubuntu aptitude 的操作方式來安裝套件。
常用工具都已經有包好可以直接下載使用,像是 htop、screen 等等,可以透過 ipkg search / install 來使用。binary 預設放在 /opt/bin 底下,再調整一下 PATH 即可直接呼叫。
Ref:
一次要新增大批資料到 MySQL 時,就會 MySQL 吃 CPU 又卡 I/O wait,這個時候如果沒時間吃下午茶的話實在會有點不爽 (?)
假設今天有個 table 長這個樣子:
mysql> desc users;
+--------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+---------+-------+
| id | bigint(20) unsigned | NO | PRI | NULL | |
| email | varchar(200) | YES | | NULL | |
| display_name | varchar(500) | YES | | NULL | |
| reg_date | int(10) unsigned | YES | | NULL | |
| last_login | int(10) unsigned | YES | | NULL | |
| delete_at | int(10) unsigned | YES | | NULL | |
+--------------+---------------------+------+-----+---------+-------+
登入、使用者管理等動作,我們會為以下幾個欄位加上 index 以加快查詢速度:
這個時候我們新增一筆資料時,MySQL 大概會做幾個動作:
所以如果只是把新增一筆資料,事情最多的不是建立一個 record,而是更新所有的 index。假設要新增的資料有 10000 筆,新增資料的 I/O 就當作 10000 次好了,更新 index 就另外再增加 40000 次 I/O。
若這 10000 筆資料是一次處理完,且不打算中斷,是否有發法可以減少 index 處理的次數?答案是 transaction。
當 10000 個 insertion 放在同一個 transaction 時,MySQL 會在 insertion 確認成功以後再來一次 update index。也就是說原本 update index 跑 40000 次,現在只需要跑 4 次。
由於 transaction 會造成 lock,新增資料前可以先試試看一個 transaction 要新增幾個 record,lock 的時間才不會影響到其他服務的運作。
ref:
本來打算連假走塔塔加抒發一下最近累積的壓力,不過天公不做美,連續下了幾天的雨,到了塔塔加遊客中心以後就決定往回走了。
由於下午的關係,阿里山到塔塔加的路並不好走,中途有部份地段有落石,也有路基不穩的狀況,建議上山之前還是要注意一下道路狀況。
塔塔加遊客中心,除了有賣紀念品以外,也有阿里山生態的教育影片,二樓則有餐廳。餐廳主要是以桌菜為主,雖然有單點但價位都不低,倒是 200 元的單人套餐份量和品質都很棒。
塔塔加遊客中心 200 元的單人套餐