Custom Search

ทาง Mozilla เพิ่งอัพเดต Firefox 3.5.1 ไปได้ไม่นาน เพื่อแก้ปัญหา TraceMonkey และปัญหา Firefox 3.5 เปิดตัวตอนแรกช้า ซึ่งมีปัญหาเฉพาะกับวิบนโดวส์ (อ่านข่าวได้จากคุณนินคุง) ใครยังไม่ได้อัพเดตก็กด อัพเดตกันเลย เพราะเป็นการแก้บักสำคัญ 

ถ้าใครอัพเดตเป็น Firefox 3.5.1 แล้วรู้สึกเจ้าหมาไฟมันยังอืด ๆ อยู่ ยังเร็วและแรง ตอนรันครั้งแรก (coldstart up) ไม่พอ ก็ลองมาลดน้ำหนัก เจ้าหมาไฟตัวนี้ ที่แอบกินจุจนพุงยื่นกัน  ด้วยวิธีการ defragment sqlite database

ตั้งแต่ Firefox 3 ขึ้นไป ได้มีการใช้ SQLite database (ฐานข้อมูล sql ตัวจิ๋ว โดยไม่ต้องพึ่งพา server) มาช่วยจัดเก็บข้อมูล ในส่วนของ bookmarks, history ซึ่งได้เพิ่มเก็บข้อมูลเว็บที่เราเคยเข้าไปไว้ประมาณ 90 วัน ซึ่งจะช่วยให้ awesome bar ค้นหาข้อมูลได้ประโยชน์เต็มที่ เมื่อใช้ไปเรื่อย ๆ เจ้าฐานข้อมูลนี้ มันก็จะทำให้ firefox พุงยื่นขึ้นเรื่อยๆ โดยไม่รู้ตัว (ขนาดไฟล์โตขึ้นนั่นเอง) เนื่องจากมี fragment และ empty spaces เกิดขึ้นในฐานข้อมูล ยิ่งถ้าเก็บ bookmarks ไว้เป็นจำนวนมากแล้วก็หละยิ่งโตขึ้นทวีคูณ เป็นเหตุให้เวลาเปิด Firefox ครั้งแรกจะอืดขึ้นเรื่อยๆ  เพราะต้องเสียเวลาไปโหลด database ที่ขนาดใหญ่ขึ้นโดยไม่จำเป็น

โดยตัว Firefox เองตอนนี้ ยังไม่สามารถที่จะ defragment SQLite database ได้เอง อัตโนมัติ ดังนั้นจึงเป็นหน้าที่พวกเรา จับเจ้า Firefox มาเข้าคอร์สลดน้ำหนักกันด้วย วิธีการดังต่อไปนี้ (ทำได้กับระบบปฎิบัติการ Linux, Windows, and Mac OS X)

1. ไปโหลด sqlite3 โดยเลือก Precompiled Binaries ตาม platform ที่ใช้อยู่ ถ้าเป็นวินโดวส์ก็ตัวนี้
2. unzip file "sqlite3.exe" ไปยัง folder ที่เก็บ profile ของ Firefox ซึ่งจะเป็นไปตาม os ที่ใช้อยู่ โดยดูวิธีการหาโฟลเดอร์ได้จากเว็บหมาไฟ
3. ปิด Firefox ทุกตัวที่เปิดใช้อยู่ (ไม่เช่นนั้นจะเกิด error database มันจะถูกล็อคอยู่ เราจะ vacuum มันไม่ได้)
4. ให้ไปที่ Profile folder ของไฟรฟอกซ์ แล้วรันคำสั่ง

 sqlite3 [SQLite database] VACUUM

โดยเปลี่ยน [SQLite database] ด้วยชื่อไฟล์ที่มีนามสกุล .sqlite ตัวอย่างเช่น places.sqlite (ตัวนี้มักจะมีขนาดใหญ่ที่สุด) แล้วก็ไล่ทำไปเรื่อย ๆ ทุกไฟล์นามสกุล .sqlite

สำหรับผู้ใช้วินโดวส์ เราสามารถทำการลดขนาดฐานข้อมูลได้ในครั้งเดียว โดย

  • ไปที่ start -> run -> พิมพ์ cmd กด enter
  • ไปที่ profile folder ของ firefox
  • แล้ว รันคำสั่ง for %a in (*.sqlite) do (sqlite3 %a vacuum)
  • ถ้าทำถูกต้อง โปรแกรม sqlite3.exe จะทำงาน โดยมีรายงานว่าได้ทำการ defragment ฐานข้อมูลอะไรไปบ้าง (ถ้ามีขึ้นว่า database lock แปลว่ายังปิด firefox ไม่ครบ)

 อันนี้เป็นผลจากเครื่องผมเอง ลดขนาดไปได้โอเคเลยทีเดียว


ก่อน

หลังจากทำแล้ว places.sqlite ลดลงจาก 23 MB เหลือ 19 MB ส่วน urlclassifier2.sqlite ลดไปได้เยอะมากจา 8 MB เหลือเพียง 2 MB เท่านั้น
 
 
ส่วนประสิทธิภาพและความเร็วที่เพิ่มขึ้น ขอเอาตัวอย่างจากเว็บ mozillalink.org มาให้ดูกันตามนี้ 

Machine places.sqlite size before vacuum places.sqlite size after vacuum Cold startup Before Cold Startup After
Machine 1: 1 window, 20 tabs 10 MB 9 MB 11 s 8 s
Machine 2: 3 windows, 25 tabs 40 MB 27 MB 10 s 7 s

จะเห็นว่า firefox รันครั้งแรก ได้เร็วขึ้น จริง ๆ เป็นทิปเล็ก ๆ ที่ช่วยเพิ่มประสิทธิภาพให้กับ firefox ได้เร็วและแรงขึ้น ซึ่งก็แนะนำว่าควรทำเป็นประจำ ประมาณ ทุก 6 สัปดาห์

เรามาดูกัน หลังจากเข้าคอร์ส slim up ให้กับ Firefox 3.5 แล้วเป็นยังไง พระเจ้าจอร์จ มันยอดมากขนาดไหน

Ferdinand

July 10, 2009 11:28 am

My places went from 46MB to 19MB and my urlclassifier went from 31 to 26MB. I have never had any problems with Firefox’s startup speed but it might be slightly faster. But it would be from 2 seconds to less than 2 seconds…
My places is big because I set my history to 600 days so I can always look up where I have been.

Jay R.

July 10, 2009 11:28 am

I don’t have the exact numbers, but I do have approximate.

I’ve been using FF 3.1 (3.5) nightlies since alpha. My places.sqlite file was over 40MB. After vacuum it’s 2MB. My startup time went from ~10s, to ~2s.

Incredible.

GraemeL

July 10, 2009 11:28 am

Top tip!

Places from almost 50Mb down to 15Mb. Startup from 15s to 5s.

 

แล้วของท่านอื่นๆ  ทดลองแล้วได้ผลเป็นยังไงบ้าง น้องหมาไฟลดพุงไปได้แค่ไหน ช่วยอวดให้ชมใน comment กันด้วยนะครับ

 

Tip นี้ อ้างอิงข้อมูลจาก mozillalink.org

 

update : ใครไม่ถนัด ใช้ command line เห็นว่ามันยุ่งยาก แนะนำให้ใช้โปรแกรม BleachBit แทนครับ ง่ายกว่าเยอะ

http://stgizmo

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet

128 -> 112 ลดไปได้ตั้ง 16 =w=
เยี่ยมมากครับ ขอเอาไปทวิตเผยแพร่ต่อนะ big smile

#3 By NarzE (161.200.95.70) on 2009-07-27 10:16

ขอบคุณครับ ว่าแต่มีวิธีทำเป็น batch ไฟล์มั้ยครับ

ขอบคุณครับ

#4 By trust (125.25.101.174) on 2009-07-27 18:18

ใช้แล้วว่องจริงเปล่า

#5 By เป้ (125.25.125.103) on 2009-11-23 16:29

Creative Commons License
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-ไม่ดัดแปลง 3.0 ประเทศไทย. All photo are NOT allowed to be used for any purpose without permission. ห้ามนำรูปในบลอคนี้ไปใช้โดยไม่ได้รับอนุญาต ไม่ว่ากรณีใดๆ ทั้งสิ้น.