รีวิว Backblaze กับ Jottacloud อย่างย่อ

เนื่องจาก FileSystem มีปัญหา (คิดว่าไม่ใช่ HardDisk เพราะ SMART test บอกปกติดี อาจจะเพราะใช้ Windows Storage Space + WSL2 + Window Update ละมั้ง) ทำให้จำเป็นต้องกู้ข้อมูลจาก Cloud มา เลยจะมารีวิวสั้นให้ฟังกันครับ

มารู้จักกับ Backblaze กับ Jottacloud กันก่อน

Backblaze และ Jottacloudเป็นบริการสำรองข้อมูลใน Cloud ที่ราคาค่อนข้างถูก คล้ายๆกับพวก Google Drive, OneDrive หรือ Dropbox แต่มีฟังชั่นต่างๆน้อยกว่า เช่นไม่มีระบบการแชร์ไฟล์ให้คนอื่น หรือระบบ Sync จากโปรแกรมเป็นแบบทางเดียวคือเอาจากเครื่องขึ้น Cloud แต่ไม่ได้เอาจาก Cloud ลงมาบนคอมพิวเตอร์ และข้อดีคือทั้ง 2 บริการเป็นแบบจ่ายคงที่ต่อเดือน แต่ได้ Unlimited Storage คือ ไม่จำกัดขนาดข้อมูลที่เราสามารถสำรองได้ (แต่ Jottacloud เขียนบอกว่าความเร็วการ Upload จะลดลงเมื่อขนาดมากกว่า 5 TB) และมีระบบกู้ไฟล์ที่ถูกลบได้ใน 30 วัน (Backblaze สามารถซื้อเพิ่มได้ในราคา 2 USD / เดือน เพื่อขยายเวลาเป็น 1 ปีได้) มีระบบกู้ข้อมูลไฟล์ที่ถูกแก้ไขได้ (ถ้ามีการแก้ไขไฟล์ทับ สามารถกู้เอาไฟล์ก่อนแก้ไขมาได้)

สาเหตุที่ผมต้องใช้ระบบสำรองข้อมูลอันนี้

เนื่องจากว่าข้อมูลต่างๆของผมนั้นมีความสำคัญ (จริงๆมีแค่บางส่วนแหละ แต่อยากเก็บหมด) จึงไม่อยากให้หายไป ถึงแม้ว่าผมจะทำ RAID 5 เพื่อป้องกัน HardDisk พังไว้แล้ว (จริงๆคือ Windows Storage Space Parity Mode + 3 HardDisk) แต่มันไม่ได้ป้องกันในเรื่องแบบที่ผมกำลังเจอ ณ ตอนนี้คือ FileSystem Corrupted คือมันพังระดับ Software หรือในกรณีที่โดน Ransomware เป็นต้น

จริงๆแล้วเราสามารถใช้ Google Drive, OneDrive หรือ Dropbox แทนได้ แต่หากขนาดข้อมูลเกิน 1 TB แล้วละก็ จะหาที่เก็บได้ยากมากเลยครับ โดยราคารายเดือนจะเป็นตามนี้ครับ (ไม่นับราคา Family เพราะ Account Sync จะมีแค่อันเดียว)

  • Jottacloud ราคาจะอยู่ที่ 9.9 USD ต่อเดือน (เงินไทยประมาณ 350 บาท) ไม่จำกัดขนาด (ฟรี 5 GB ตลอดอายุการใช้งาน)
  • Backblaze ราคาจะอยู่ที่ 6 USD ต่อเดือน (เงินไทยประมาณ 210 บาท) ไม่จำกัดขนาด (มีทดลองใช้ 15 วัน)
  • Google Drive ราคาจะอยู่ที่ 350 บาทต่อเดือน เก็บได้แค่ 2 TB และโดดไป 10 TB ที่ราคา 1750 บาทต่อเดือนเลย
  • OneDrive ราคาอยู่ที่ 209.99 บาทต่อเดือน เก็บได้แค่ 1 TB
  • Dropbox ราคาจะอยู่ที่ 11.99 USD ต่อเดือน (ราคาไทยประมาณ 419.65 บาท) เก็บได้ 2 TB หรือ 19.99 USD ต่อเดือน เก็บได้ 3 TB (ราคาไทยประมาณ 699.65 บาท)

จะเห็นว่าส่วนใหญ่จะได้แค่ประมาณ 1-2 TB เท่านั้น ถ้ามากกว่านั้นจะเริ่มใช้ลำบากทันที เพราะต่อให้ใช้ OneDrive Family Plan ก็ยังมีการจำกัดต่อ Account อยู่อีกที ส่วนอันอื่นที่เดิน 2 TB ก็ราคาโดดไปเลย (จริงๆตอนมาทำเพิ่งเห็นว่า Dropbox มี 3 TB ด้วย)

เรื่องระบบการสำรองข้อมูล

Backblaze

สำหรับ Backblaze นั้นใช้งานค่อนข้างง่าย (มั้ง จำไม่ค่อยได้ครับ 55+) โดยแค่ลงโปรแกรม Sync จากนั้น Login เลือก Drive ที่จำสำรองข้อมูล (ถ้าจำไม่ผิดไม่สามารถเลือก External Harddisk ได้) จากนั้นที่เหลือก็แค่รอระบบค่อยๆอับโหลดขึ้นไปให้ครบก็พอ แต่สิ่งที่ต้องระวังคือการตั้งค่าเริ่มต้นของ Backblaze จะไม่ได้อับโหลดทุกไฟล์ขึ้นไป ต้องเข้าไปในหน้า Setting > Exclusions เพื่อดูรายละเอียดต่างๆ เราสามารถปรับเพิ่มลดได้ ว่าจะไม่สนไฟล์นามสกุลไหนหรือโฟลเดอร์ไหนบ้าง แนะนำให้เช็คในส่วนตั้งค่ายกเว้นนามสกุลนะครับ เพราะถ้าจำไม่ผิดมันจะมี exe, dll, iso อยู่ ซึ่งบางคนอาจจะอยากให้อับโหลดไปด้วย

Jottacloud

สำหรับ Jottacloud นั้นใช้งานง่ายเช่นกัน เหมือน Backblaze เลย ลงโปรแกรม Login แต่สิ่งที่ต่างจาก Backblaze คือโดยเริ่มต้นนั้น Jottacloud จะ ไม่ได้เลือก Drive และโดยเริ่มต้นจะสำรองแค่บางส่วนเท่านั้น ต้องกด Add Folder แล้วเลือก Drive ที่อยากสำรองข้อมูลขึ้นไปแทน โดย Jottacloud สามารถเลือก Exclude subfolder ได้อยู่ (เลือกที่จะไม่สำรองข้อมูลให้กับโฟลอเดอร์ที่เรากำหนด) แต่จะสำรองทุกอย่างที่เราไม่ได้เลือก Exclude ไว้

เรื่องระบบการกู้ข้อมูล

เราพูดถึงการสำรองข้อมูลไปแล้ว ต่อไปพูดถึงเรื่องการกู้คืนบ้าง ซึ่งในส่วนนี้จะพูดถึงแค่วิธีการนะครับ ส่วนประสบการณ์การใช้งานอยู่ด้านล่างนะครับ

Backblaze

การกู้ข้อมูลของ Backblaze มี 4 วิธีคือ

  • Download Zip file โดยระบบจะให้เราดาวโหลดไฟล์ ตามที่เราเลือก โดยขนาดรวมต้อครั้งต้องไม่เกิน 500GB และทำได้พร้อมกันสูงสุดได้ไม่เกิน 5 ไฟล์ เก็บรักษาไว้ 7 วัน
  • Save Files to B2 (zip เหมือนกัน) โดยระบบจะทำการ Upload ไฟล์ไปที่ระบบ B2 (คิดง่ายๆ ก็เหมือนกับ AWS S3 หรือ Space ของ Digitalocean นั่นแหละ) ไม่จำกัดขนาดไฟล์ (มั้่ง) โดยในคู่มือระบุว่าคาดหวังว่าจะได้ความเร็วที่ 1 GB / นาที (แต่มันก็ขึ้นกับขนาดและจำนวนไฟล์) และมีคำแนะนำว่าถ้าขนาดมากกว่า 1 TB แนะนำให้แยกไฟล์ (มีค่าใช้จ่ายในการเก็บไฟล์ และคิดตาม Bandwidth ที่ดาวโหลด)
  • USB Flash Drive ตามชื่อเลยครับ เค้าจะส่ง Flashdrive ขนาดสูงสุด 256 GB แต่มีค่าใช้จ่าย 99 USD ต่อครั้ง ซึ่งสามารถขอคืนได้ ถ้าส่ง Flashdrive คืนใน 30 วันหลังจากได้รับ
  • USB Hard Drive ตามชื่อเหมือนข้อบนเลย เค้าจะส่ง Harddisk มาให้ขนาดสูงสุด 8 TB แต่มีค่าใช้จ่าย 189 USD ต่อครั้ง ซึ่งสามารถขอคืนได้ ถ้าส่ง Harddisk คืนใน 30 วันหลังจากได้รับ

Jottacloud

ข้อมูลตรงนี้อาจจะไม่ครบนะครับ เป็นเท่าที่ผมเห็นมีดังนี้

  • Download ผ่านหน้าเว็บ
  • Download ผ่านทาง App ของมันเอง

สั้นและง่าย ไม่มีอะไรรายละเอียดมากมายนักครับ

ประสบการณ์การกู้ข้อมูล

เนื่องจากผมต้องการกู้ข้อมูลจาก Filesystem มีปัญหา แต่ไฟล์ทั้งหมดมีขนาดใหญ่มาก ประมาณ 2.7 TB เนื่องจากผมไม่รู้ไฟล์ไหนเสียบ้าง เลยต้องโหลดมาหมดเลยจ้า

Backblaze

ตัวเลือกที่ผมจะเลือกตอนแรกคือ Download Zip file แต่ไม่สามารถทำได้เนื่องจากขนาดใหญ่เกิน จึงเลือก Save Files to B2 ต้องยอมรับว่าโง่จริง แทนที่จะเลือกแบ่งดาวโหลด 5 ไฟล์ แล้วเอาเศษนิดหน่อยขึ้น B2 ดันเอาขึ้น B2 หมดเลย เลยต้องเสียค่าใช้จ่ายไปนิดหน่อย

ความเร็วในการดาวโหลดคิดว่าน่าจะใช้ได้เลย (พอดีเนื้อที่ผมไม่พอ เลยไปใช้ Google Compute Engine สำหรับ Download มาก่อน เพื่อเอามาเช็ค CRC32 เทียบกับข้อมูลใน Local อันนี้ก็โง่อีก ผมมี HDD 4 TB ที่เป็นที่เก็บไฟล์ชั่วคราว สำหรับ Build RAID ใหม่จากเหตการณ์นี้) ได้ความเร็วต่อไฟล์ 30 – 50 MBps (B = Bytes) โดยเช็คจากที่ Chrome บอกมานะครับ

แต่ความเร็วในการอับโหลดขึ้น B2 นี่ค่อนข้างช้าเลยครับ ความเร็วเป็นดังต่อไปนี้

  • กด Backup ไฟล์ทั้งหมด ขนาด 2969.2 GB จำนวนไฟล์ 380841 ไฟล์ (ตบมาจาก JSON ที่ API ของ backblaze ส่งมา) สั่งไปตั้งแต่ วันที่ 2020-07-23 เกือบๆเที่ยงคืน จนตอนนี้ 2020-07-28 ยังไม่เสร็จครับ
  • backup1 (เนื่องจากข้างบนรอนานไป เลยแบ่งมันเป็น 3 ไฟล์) ขนาด 1,519.5 GB จำนวนไฟล์ 12514 สั่งไปวันที่ 2020-07-24 เสร็จประมาณ 2020-07-26
  • backup 2 ขนาด 708.2 GB จำนวนไฟล์ 144012 สั่งไปวันที่ 2020-07-24 เสร็จประมาณ 2020-07-25
  • backup 3 ขนาด 476.3 GB จำนวนไฟล์ 224719 สั่งไปวันที่ 2020-07-24 เสร็จประมาณ 2020-07-25

แต่ก็ดันมีปัญหาเกิดขึ้น เนื่องจากครั้งนี้ผมเขียนโปรแกรมสำหรับเทียบไฟล์ที่มีในเครื่องกับที่มีบน Cloud เลยรู้ว่ามันตอนมันเอาไฟล์ใส่ Zip แล้วอับโหลดขึ้น B2 มันอับไฟล์มาไม่ครบ คือในระบบมองเห็นและ Download ได้จากหน้าเว็บ แต่ใน Zip มันไม่มีเฉยเลย (EDIT อาจจะติด maximum path length ของ zip เลยใส่มาไม่ได้ เพราะชื่อไฟล์ยาวเกิน)

สรุปคือตอนกู้ของ Backblaze นี่ค่อนข้างช้า และแย่พอสมควรเลย ไม่แน่ใจว่าถ้าสั่งมาเป็น harddisk จะได้ครบไหมนะครับ

Jottacloud

อันนี้ทำผมสับสนพอสมควรเลย เพราะว่าโปรแกรมมันไม่ได้ Sync เหมือน Google Drive, OneDrive หรือ Dropbox คือผมกด Restore ใน Web Console แล้ว แต่มันไม่ Sync ลงมา ตอนแรกนึกว่าตัวไฟล์บน Cloud ก็พังไปแล้วด้วย แต่จริงๆคือไม่ มันแค่ Restore จาก Trash กลับไปที่บน Cloud แต่ข้อมูลในเครื่องไม่มี

ความเร็วในการกู้ข้อมูลจัดว่าค่อนข้างเร็วเลย ผมใช้โปรแกรมของมันสั่ง Download ไฟล์ไปที่ Harddisk อีกตัว ถ้าเป็นไฟล์ใหญ่ผมได้ความเร็ว 150+ Mbps เลยครับ (อันนี้ใช้เฯ้ตบ้านความเร็ว 200 Mbps มันเลยต่างจากข้างบนที่เอาไปลง Google Cloud) แต่ไฟล์เล็กๆอาจจะช้ากว่านี้ครับ

เพิ่มเติมคือ Jottacloud มีฟีเจอร์นึงที่ดีมากคือถ้าเราลบไฟล์เป็นจำนวนมาก มันจะส่งเมลมาบอก (OneDrive ก็มีถ้าลบไฟล์ใน Cloud เป็นจำนวนมากมันจะส่งเมลบอก แต่เจ้าอื่นไม่แน่ใจ ยังไม่เคยเห็น) ซึ่งผมชอบมากเลย เพราะมันทำให้ผมรู้ว่า Drive D ผมมีความผิดปกติเกิดขึ้นครับ

Commit Charge / Physical Memory / Modified Memory และอื่นๆเกี่ยวกับ Memory Management

พอดีเกิดหาข้อมูลเรื่องนี้นิดหน่อย และคิดว่าน่าสนใจดี เลยขอแปลบันทึกไว้ เป็นความหมายของข้อมูลที่แสดงใน Process Explorer (บางตัวก็แสดงใน Task Manager ด้วย)

  • Commit Charge หรือ Committed ที่แสดงใน Task Manager หมายถึง จำนวนหน่วยความจำที่ถูกจองไว้โดยโปรแกรมทั้งหมด
  • Physical Memory (ไม่แน่ใจว่าคือ In Used หรือ Paged Pool ใน Task Manager) คือจำนวน Memory ที่ถูกใช้ไปจริง ๆ
  • Commit Limited คือจำนวนสูงสุดที่สามารถจอง Memory ได้ (มาจากขนาด RAM + ขนาด Pagefile)
  • Modified คือจำนวน Memory ที่ได้ถูกใช้ในระยะเวลานึง
  • Private Bytes คือจำนวน Memory ที่โปรแกรมขอ OS ไป
  • Working Set คือจำนวน Memory ที่อยู่ใน RAM ของโปรแกรมนั้น

ข้างล่างจะสรุปตามความเข้าใจนะครับ จะทิ้ง Reference ให้ท้ายสุดนะครับ ถ้ามีความรู้ภาษาอังกฤษแนะนำให้ไปอ่านต้นทางดีกว่าครับ เพราะละเอียดและถูกต้องกว่า

คือเมื่อโปรแกรมสั่งจอง Memory ในแบบ Commit ที่ VirtualAlloc จำนวน 2MB จำนวน Commit Charge จะเพิ่มขึ้น 2MB แต่ใน Physical Memory ยังไม่มีการใช้งานจริง จึงไม่เพิ่มขึ้น (อาจจะมีเพิ่มนิดหน่อยจาก Overhead)

ต่อมาเมื่อโปรแกรมได้ทำการเขียนข้อมูลลงบนตำแหน่งที่เราได้จองไว้ข้างต้นจริง ๆ ถึงจะเพิ่มค่า Physical Memory Usage และทำให้ Memory Available ลดลง

ต่อมาถ้าตำแนห่ง memory นั้นไม่ได้ถูกใช้งานเกินระยะเวลานึง และมีความต้องการ RAM จำนวนมาก อาจจะเกิดแบบนี้ขึ้น

  • OS จะนำตำแหน่งนั้นออกจาก Working Set
  • เนื่องจากมันเคยถูกเขียนแล้วมันจะถูกย้ายไป Modified Page list (ถ้าไม่เคยเขียนจะย้ายไป Standby)
  • เมื่อ Modified Page list มากถึงจุดๆนึง จะมีการย้ายข้อมูลลง Pagefile (ถ้ามันมีนะ)
  • ย้ายตำแหน่งนั้นจาก Modifed Page list ไป Standby แทน แต่ข้อมูลต้นฉบับยังอยู่ใน RAM อยู่ พร้อมใช้ได้ทุกเมื่อ ที่จุดนี้ RAM Available จะเพิ่มขึ้น (เพราะมันถือว่าเป็นข้อมูลที่เอาออกจาก RAM ได้แล้ว) และ Working Set จะลดลง
  • ตำแหน่งที่อยู่ใน Standby list สามารถเอากลับมาใช้ได้ทุกเมื่อ
  • ถ้าหากโปรแกรมนั้นพยายามจะใช้ตำแหน่งที่ย้ายไป Modifed หรือ Standby มันจะไปอ่านจาก Disk แล้วนำกลับเข้า RAM และใส่เข้าไปใน Working Set

ถ้าหากไม่มี Pagefile ข้อ 3-5 จะไม่คงอยู่ที่ Modified list และไม่ย้ายไปที่ disk เพราะมันไม่มี

ต้นฉบับ

Reduce Angular bundle size by remove unused locale in moment.js (without ng eject)

This is my lab test for remove a moment locale from angular app. This article will show you how to reduce Angular bundled size by remove unused locale in moment.js without ng eject

WARNING: This is my first english article. I’m not good english but i think this should be share to other people.

Prepare a lab data

Just install Angular 7 and moment by this command.

And edit app.component.ts to something like this

And build a production bundle with stats json. by

Next i see how many size of moment.js that include to bundle by

And this i a result

Angular bundle with a full locale of moment.js

As you can see total size is around 300KB (Gzipped around 70KB).

First try: Import min edition

After I google for solution i found someone suggest that I can import moment.min.js. That file not include any locale data. So i change code to

The bundle size after changed is

Bundle size after import min version of moment.js

Now size is reduce to around 51KB (Gzipped around 16KB). WOW! At first time I think it works. But when I import a locale data like this code.

And see a bundled size.

bundle size when import min version of moment.js and import localeAs you see we have 2 moment.js and full locale in bundled (one is full version and another one is min version). And if you import another library that use moment.js like chart.js the size will be like that too.

bundle size after import min version of moment.js and import chart.js

Second try: Use webpack plugins

I search in Google again. I see another solution to eject webpack config and add some plugin to remove locale. But for my personal reason i don’t want to eject angular config, So I will skip this solution for now.

Solution: Remove by Replace locale folders.

I found Angular has a feature that can replace environments file up to version that it build. I think I can use this folder to replace locale folder too. So let try

  1. Create a my locale folder and if you use any locale, copy it to this folder.
  2. Edit angular.json to replace default locale. file fileReplacements section and add this code like this.
  3. Build and see a results. (You will see a warning message like “node_modules/moment/locale/af.js” does not exist. But it OK don’t worry it)

The result is

bundle size after remove unused locale.As you can see the size is around 55KB (Gzipped around 17KB) and no other locale except locale that in new locale folder. even if you import chart.js it still not include unused locale too. Like this

Bundle size after remove unused locale and import chart.js

I hope this will be useful. Thanks for reading.

เพิ่ม Index ให้ WordPress เพื่อลดโหลด

อันนี้เป็นบทความสั้นๆครับ เกิดจากการสังเกตว่าใน WordPress ของผมนั้นจะมี Query อันนึงที่ run เยอะมาก และบางทีก็นานมาก ตัวอย่างประมาณนี้ครับ

ซึ่งจากที่เดาคือมันเช็คว่า Attachment ตัวนี้มี Post ไหนใช้บ้าง ผมไม่รู้ว่าตัวไหนเป็นคนเรียกใช้ แต่เนื่องจากมันเยอะมาก เลยทำการเพิ่ม index ให้มัน ทำให้มัน Query ได้เร็วขึ้น

เพื่อความประหยัดผมเลย index meta_value แค่ 10 ตัวพอ (เพียงพอสำหรับ /ปี/เดือน/ ก็ลดไปได้เยอะและ)

แต่อันนี้ไม่ได้ช่วยกับทุกคนนะครับ บางทีมันอาจจะมาจาก Theme หรือ Plugin ก็ได้ ดังนั้นต่อให้ท่านใช้ไปก็ไม่อาจจะรับประกันได้ว่ามันจะช่วยท่านได้

WTF AR-BRO Support – บันทึกความกากของ AR-BRO Support

หมายเหตุ โปรดดูวันที่โพสก่อนตัดสินใจ ในวันที่ท่านได้อ่านบทความนี้ AR-BRO อาจจะปรับปรุงเรื่องต่างๆแล้วก็ได้ 

อันนี้จะเป็นบันทึกเตือนใจ สำหรับผู้ที่อาจจะเข้ามาใช้ AR-BRO นะครับ เป็นประสบการณ์ที่ผมได้จากการ Support ของ AR-BRO ซึ่งเป็น Cloud Provider เจ้าหนึ่งของไทย เขียนตอนเดือน 1 ปี 2017

จริงๆแล้วผมค่อนข้างอคติกับที่นี่พอสมควร ใช้วิจารณญาณในการอ่านด้วยนะครับ สาเหตุที่ผมอคติหลักๆคือมันโฆษณาว่า “ไม่ต้องจ่ายล่วงหน้าเป็นเดือน!” แต่ว่าถ้าจะสร้างเครื่องคุณต้องมีเครดิตในระบบเหลือพอจ่ายให้เครื่อง”ทั้งหมด” รวมกับเครื่องที่จะสร้างใหม่ ล่วงหน้า 21 วัน ซึ่งนั่นหมายความว่าถ้าผมต้องการขยายระบบด้วยการสร้างเครื่อง 599 บาทต่อเดือน (0.89 บาทต่อชั่วโมง) 4  เครื่อง ผมต้องเติมเงิน 1794.24 แม้ว่าจริงๆผมจะอย่างใช้แค่ 3 วัน ซึ่งคิดเป็นเงินแค่ 256.32 บาทเท่านั้น เหลือเครดิตที่ทำอะไรไม่ได้ 1537.92 บาท ยิ่งกว่านั้นถ้าผมใช้เสร็จ ลบเครื่องทิ้ง เดือนต่อไปผมมีเหตุุจำเป็นให้ต้องขยาย 4 เครื่องอีก เครดิตที่เหลือ 1537.92 ไม่สามารถใช้เครื่องขนาด 599 บาท 4 เครื่องได้อีกแล้ว เพราะเครดิตที่เหลือมีไม่พอจ่าย 21 วัน ต้องเติมเพิ่ม 256.32 ก่อนถึวจะใช้ได้  ดังนั้นถ้าใครคิดจะเอามา ขยายระบบเฉพาะหน้านี่ไม่เหมาะอย่างแรงเลยครับ เหมือนเอาเงินไปดองทำไรไม่ได้

เข้าเรื่องต่อไปจะรวมเรื่องที่ Support AR-BRO ตอบมาแบบแปลกๆกันดูครับ

[May 29, 2016 – June XX, 2016] AR-BRO MA ระบบบ่อยจนน่ากลัว

เป็นช่วงตกต่ำที่สุกของ AR-BRO เลยก็ว่าได้ ฃ่วงนั้นผมยังไม่มีเครื่องที่ใช้จริงจังเท่าไหร่ แต่เห็นหลายคนบ่นหนักว่าล่มบ่อยมาก ซึ่งในเหตุการณ์นั้นทาง AR-BRO รับมือด้วยการ ปิดระบบ Ticket, Call Center และการโพสหน้าเพจของ Facebook ไปเลย ซึ่งผมรู้สึกว่ามันดูไม่โปรอ่ะ แล้วมีครั้งนึงที่เค้าบอกว่า MA ตอน ตี 1 มั้ง แต่ผมได้ SMS แจ้งการ MA ครั้งนี้ตอนตี 4  หลัง MA เสร็จไปแล้ว โดยลูกค้าช่วงแรกอย่างพี่เนยจาก nuuneoi.com ยังย้ายกลับไปใช้ Digital Ocean เหมือนเดิมเลย (อ้างอิง)

ปัจจุบัน ปัญหาล่มทั้งระบบไม่เจอแล้วในช่วงหลัง พอไว้ใจได้ในระดับหนึ่ง ตามที่ผมเคยเจอ มีแค่ครั้งเดียวหลังจากช่วงนี้ที่ดับแล้วไม่แจ้ง (วันที่ 17 ธันวาคม 2016)

[September 9, 2016] UBUNTU 14.04 เลิกพัฒนาแล้ว ไม่ปลอดภัย

พอดีว่าผมชอบใช้ Ubuntu แต่ว่า Image ที่ AR-BRO มีให้นั้น Ubuntu 16.04 ซึ่ง ณ วันนั้น VestaCP ไม่รองรับ ผมเลยแจ้งไปทางเพจว่าขอ Image Ubuntu 14.04 ด้วยได้ไหม จริงๆแล้วเรื่องนี้มันจะไม่เป็นปัญหาเลย ถ้าเค้าไม่ดันตอบมาว่า “Ubuntu 14 เลิกพัฒนาแล้วครับมำให้มีรูรั่วจำนวนมาก” ผมนี่ถึงกับเปิดตาราง LTS เลยครับ

AR-BRO บอกว่า Ubuntu 14.04 ไม่ปลอดภัย และเลิกพัฒนาไปแล้ว WTF

สำหรับใครอยากดูว่า Ubuntu 14.04 LTS End of Life วันไหน สามารถดูได้ที่ https://wiki.ubuntu.com/LTS

ปัจจุบัน ตามที่เค้าบอก มันอาจจะจัดการระบต่างๆได้ยาก เค้าเลยไม่ใส่นะครับ และ VestaCP รองรับ Ubuntu 16.04 แล้ว ก็ใช้ Ubuntu 16.04 แทนนะครับ

[December 17, 2016] AR-BRO ปิดเครื่องโดยไม่แจ้งล่วงหน้า

ในวันที่ 17 ธันวาคน 2016 เกิดเหตุการณ์ เครื่องดับถ้วนหน้า โดยไม่มีการแจ้งล่วงหน้าว่าจะ MA หรือว่าเกิดอุบัติเหตุขึ้นอย่างไรก็มิทราบได้  (ผมจำไม่ได้ว่าดับไปช่วง 6.00 น. หรือว่าเริ่มดับช่วง 8.00 น.)  แต่ผลที่เกิดขึ้นคือเครื่องดับไป 2 ชม. ที่ผมรู้เพราะมีคนโทรมาบอกว่าเข้าเว็บไม่ได้ เห็นสถานะเครื่องดับอยู่ ต้องมาเปิดเอง เข้าใจว่าเหตุการณ์นี้น่าจะดับทุกเครื่องเลยครับ เพราะถามจากเพื่อนๆที่ใช้อยู่ก็ดับไปเหมือนกัน  (Ref) และหลังจากเหตุการณ์ AR-BRO ไม่ได้ชี้แจงใดๆทั้งสิ้น (และผมก็ไม่ได้ถามไป) แต่มีการชดเชยเครดิตให้ระดับนึง (Ref)

[January 5, 2017] Ping สูงแบบไม่ทราบสาเหตุ

เดี๋ยวจะหาว่า Support มีแต่เรื่องแย่ๆ อันนี้เรื่องดีๆบ้าง อันนี้เป็นของที่ทำงาน เค้าบอกเว็บช้ามาก ให้ลองดูหน่อย ก็เลยพบว่า PING สูงมาก (150 – 400 ms) ปกติจะประมาณ 3-5ms เท่านั้น เข้าใจว่าเฉพาะ IP 103.x.x.x เพราะเครื่องส่วนตัว IP: 150.107.29.x ปกติดี เลยเปิด Ticket แจ้งไป โดยเค้าแจ้งว่า “Network ภายในบางเส้นทางมีปัญหากำลังรีบดำเนินการแก้ไขครับ”  เค้าใช้เวลาประมาณ 10 นาทีเพื่อแก้ปัญหา แล้วทุกอย่างก็กลับมาเรียบร้อยเหมือนปกติดี

[December 16, 2016 – January 14, 2017] สั่ง npm install แล้วช้า 

อันนี้เป็นเรื่องแปลกๆคือผมไม่สามารถสั่ง npm install เพื่อลง package ต่างๆที่ใช้บน NodeJS ได้ แต่สามารถสั่งคำสั่งเดียวกันบนเครื่องที่บ้าน และที่ทำงานได้ปกติ ไฟล์ package.json ก็ตัวเดียวกัน ซึ่งยังไม่สามารถแก้ปัญหาได้ ที่สำคัญคือทาง AR-BRO ไม่ได้แจ้งอะไรกลับมาเลย ในช่วงแรกผมแจ้งไปทาง Facebook Page เค้าบอกให้ผมลองเปิด verbose mode ดู หลังจากส่งข้อมูลให้เค้าดูหลายๆอย่าง สุดท้ายก็เงียบไปและไม่ได้รับการตอบกลับอีก (เข้าใจว่าหาวิธีแก้อยู่แล้วก็ลืมไปล่ะมั้ง) หลังจากนั้นประมาณ 1 สัปดาห์ผมก็ไปเปิด ticket ในเว็บ AR-BRO อีกที ผลคือเหมือนเดิมครับ ไม่มีการตอบกลับใดๆทั้งสิ้น ถ้านับรวมเวลาตั้งแตตอนนั้นถึงตอนนี้ก็เกือบ 1 เดือนแล้วครับที่ยังไม่มีการตอบกลับใดๆทั้งสิ้น (ในระบบ Ticket) ไม่แม้แต่จะขอข้อมูลเพิ่ม

โดยข้อมูลที่ผมส่งให้มีดังนี้ (ถ้าใครพอเดาสาเหตุได้ก็ช่วยกันหน่อยนะครับ)

จริงๆแล้ว case นี้ผมเดาว่าเค้าน่าจะ limit connection per second เพื่อป้องกันเราเอา host ไปยิงไรสักอย่างมั้งครับ (สังเกตุจากช่วงแรกๆมันจะวิ่งเร็วมาก แล้วก็จะนิ่งไปหลังอ่านไปสักพัก ถ้าลองสั่งหลายๆครั้งสักวันมันผ่านแน่นอน เพราะ npm cache ไว้ แต่บังเอิญผม build docker images ทำให้ในนั้นไม่มี cache และจะไม่ cache เด็ดขาด มันเลยไม่ผ่านสักที)

วันที่ปล่อยโพสนี้ (2017-01-04) ผมได้แจ้งข้อมูลเพิ่มไปใน ticket อีกรอบ ตามข้อสันนิษฐาน 1 ชั่วโมงหลังจากนั้นปิดเคสเลยครับ หายแล้ว รวมเวลากว่าจะตอบ เกือบเดือน ไม่แน่ใจว่าเพราะได้ Hint ไป หรือว่าเพราะระบบจัดการหลังบ้านไม่ดี เลยอาจจะข้ามปัญหานี้ไปต้องคอมเม้นตอบเพื่อดันกระทู้ให้เค้าเห็น

ในที่สุด AR-BRO ก็ตอบแล้ว