MariaDB10優化範例

一般來說Synology的MariaDB是不太需要調整參數的,因為系統會自動已最佳的方式運作,但是特殊情況例外,比如說重度的DB使用,就需要自己優化一下。參考不少文章,提高DB效能建議調整以下參數。 首先必須要用終端機的方式進去系統內,也就是SSH,可以用Putty,進入後用sudo 創建以下檔案: sudo vi /var/packages/MariaDB10/etc/my.cnf 設定Thread數量(預設值10)thread concurrencythread_concurrency=CPU核心數 調高LogFile,愈大效率越高innodb log file sizeinnodb_log_file_size=512MB 調高Buffer空間,太高沒有意義,但經常做更新或者使用了很多blob數據,應該增大這個值。innodb log buffer sizeinnodb_log_buffer_size=16MB 增加緩存處理,預設為1,設2可避免爭用(至少1GB)。(會自動根據innodb_buffer_pool_size大小調整)innodb buffer pool instancesinnodb_buffer_pool_instances=2 innodb_buffer_pool_chunk_sizeinnodb buffer pool chunk size MAX(innodb_buffer_pool_chunk_size) = innodb_buffer_pool_size / innodb_buffer_pool_instances 增加查詢速度,一般來說約為總記憶體的3/4~4/5innodb buffer...

超級犀利的檔案系統:Btrfs

Linux的檔案系統,比較常用的有ext4與btrfs,就如同Window的檔案系統常用的有fat32、ntfs與exFAT,各檔案系統的比較請參考這篇。 Btrfs為什麼犀利呢?原因是因為具備快照(Snapshot)的能力,也就是說備份還原不管你的檔案有多少TB幾乎都可以在一瞬間完成,請看官方的說明。筆者為了將NAS檔案格式從Ext4換成Btrfs,因為沒有直接轉換的工具,所以只好用Hyper Backup將資料備份起來,移到別的地方,再搬回來還原,雖然只有小小不到1TB的檔案,但是做了一天一夜,結果換到Btrfs用工具Snapshot Replication備份,瞬間完成,嚇死寶寶,心想,這種備份能用嗎?還可以設定到每分鐘備份,挖塞!誰會去每分鐘備份壓,空間不會被灌爆嗎?原來有了Btrfs後,觀念要修正了,真的可以這樣搞。 Btrfs為什麼能夠做到這樣,原因在於它使用了牛逼技術COW(Copy On Write),這種技術解釋有點難懂,可能要看這篇文章比較好解釋,其中關鍵在下圖,分支6到分支11,快照了異動狀況,檔案還是使用到原本的,因此可以大量進行快照的原因,這個架構好像版控壓...... https://qph.fs.quoracdn.net/main-qimg-fb42e44f0f83033496ef19b2dd020d62-c

使用Synology的QuickConnect到哪都能連線

Synology中的DSM管理介面,使用的Port是5000與5001,但是在某些地方(例如公司內)可能會被防火牆擋掉,這時候應該怎麼辦才能進行連線呢?最快的方式就是使用QuickConnect了,請參考以下文章: https://walker-a.com/archives/2506 https://blog.ladsai.com/synology-%E5%88%A9%E7%94%A8%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E4%BC%BA%E5%99%A8%E7%AA%81%E7%A0%B4%E5%85%AC%E5%8F%B8%E5%B0%8D%E5%9F%A05000-5001%E7%9A%84%E5%B0%81%E9%8E%96.html

WordPress安裝或更新外掛失敗

發生如標題的事件時,可以用以下第一招:(參考來源) 編輯WordPress根目錄下的「wp-config.php」檔案,找到: require_once(ABSPATH . 'wp-settings.php'); 並在它之上添加: define('FS_METHOD', 'direct'); 要注意WordPress的主目錄Web Server是否具有權限。 還不行就使用以下第二招:(通常是防火牆阻擋問題) wp-config.php文件添加下面的腳本 # 啟用一鍵安裝 define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);

Docker設定

Docker簡單的說就像是一台虛擬機器(Guest OS),甚至可以使用終端機下指令。 其實需要連線到終端機的情況並不多 ,Synology NAS的Docker已經把重要的資料設定變成環境變數,只要新增環境變數就可以達成設定參數檔案的功能,在修改前要先停止服務,才能編輯。 以下是一個簡單的例子設定電子郵件(無驗證與SSL)的運作 : SMTP_ENABLED = true SMTP_METHOD = smtp (Redmine可設定 async_smtp 延後再寄功能) SMTP_HOST = 192.168.1.100 SMTP_PORT = 25 SMTP_STARTTLS = false SMTP_OPENSSL_VERIFY_MODE = none SMTP_TLS = false 下面的例子是有驗證並使用中華電信的SMTP主機: SMTP_ENABLED =...

Raid真簡單

2Bay(最多只能裝兩顆硬碟) NAS用了好多年,當年硬碟貴只有買一顆,最近硬碟終於下滑到,比較無痛的價格,於是買了跟當初一模一樣的硬碟,至少可以做Raid 1(鏡像),保護資料。 結果發現原本NAS使用的是SHR技術,不用買一模一樣硬碟,但是買回來設定半天,搞不懂要怎麼把Raid啟動,差點就要把全部複製出來再重做Raid的地步(看到複製有夠久,心都涼了)。 Synology NAS的Raid概念很簡單,是由建立來的,而 是由組成,如下方的概念:儲存空間 <-- 儲存集區 <-- 實體硬碟 所以在不異動儲存空間的情況下,要動的就是後面兩者,加了新硬碟後,在儲存集區上就可以。 最後硬碟自己就會運作,進入漫長的同步作業,完成同步後,Raid 1就做好囉,如下圖。 SHR的好處就是彈性,日後可以改變,但是如果是用其他技術,那....就需要重建Raid...資料就需要搬走再搬回來了。

推薦外掛(SyntaxHighlighter Evolved)貼上原始碼

原始碼的變色處理不要自己調整,安裝這個外掛就搞定。 短代碼參數 以下是短代碼支援的參數與用途說明。如為布林值(例如:啟用/停用)請輸入 true/1 或 false/0。 lang 或 language — 醒目顯示所使用的語言。 也可以直接使用他當作短代碼標籤,如[php]程式碼[/php]。支援的語言標籤列表。autolinks — 切換網址轉換為超連結。classname — 附加到程式碼區塊的 CSS 類別。collapse — 切換摺疊程式碼區域,需要額外的典籍顯示內容。適合使用於大量的程式碼情況。firstline — 第一行的行號,必須為整數。gutter — 切換左側顯示行號。highlight — 以逗號區隔要反白顯示的行號數字,也可以為一個範圍的數字。例如:2,5-10,12htmlscript — 切換顯目顯示額外的 HTML/XML。適合在 HTML/XML 混和在其他語言的情況,例如 PHP 當中包含有 HTML 的程式碼。例如上方的預覽就是啟用的狀態。這只可以在部分的語言中運作。light — 切換行內顯示模式。將同時停用工具框與行號。padlinenumbers — 控制行號前補零。false 為關閉,true 為自動偵測,或是一個指定的數字。title (版本 3 專屬) —...

強制使用SSL(https)

如何讓Apache Server強制所有網頁連線都使用https呢? 關鍵在該目錄下使用  .htaccess 編輯該檔案, RewriteEngine on 下一行增加如下 RewriteCond %{HTTPS} offRewriteCond %{HTTP:X-Forwarded-Proto} !httpsRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} Synology NAS用 這個工具會失敗喔(無法寫入)。因為是受保護的檔案,建議用ssh進去後sudo vi該檔案,這樣就正常多了。 參考資料來源: https://blog.tayanswa.tw/technical/apache-li-yong-htaccess-she-ding-qiang-zhi-dao-xiang-https