mika

Articles

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...
技術
0
minutes

超級犀利的檔案系統: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
技術
0
minutes

建置GitLab真簡單

GitLab作為一個版控平台,可以建置在各種作業環境,但主流方式是採用Docker(簡單的說就是一種虛擬化技術),如果你手邊剛好有一台S牌的NAS,那麼點選幾個套件、幾個下一步就完成了。 GitLab是甚麼呢?簡單的說就是一個具有Web介面且讓你交換Git版控資料的平台。 安裝完成後,要記得把開放註冊功能關閉: https://www.twblogs.net/a/5bde563b2b717720b51be144
技術
0
minutes

使用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
技術
0
minutes

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);
技術
0
minutes

Java Timer執行會有秒差的問題

在Java Timer中,基本上常用的兩個方法是 schedule 和 scheduleAtFixedRate ,例如有個工作希望一秒跑一次,但是電腦的效能各不同,真的可以在一秒內跑完工作嗎?不一定喔,所以使用Timer如果希望能正確的一秒跑一次,那建議用 scheduleAtFixedRate 會好一點,原因如下: schedule 沒有上次執行完成的時間,會從現在開始算並執行。 scheduleAtFixedRate 則以預訂執行的時間開始算,且會一口氣將過去未做的補上! 但至少 scheduleAtFixedRate 會乖乖的一秒跑一次。
技術
0
minutes