Nếu bạn là tín đồ trung thành của Firefox, ắt hẳn bạn đã sử dụng phiên bản 3.0 ngay từ những ngày đầu tiên. Đã gần một năm kể từ khi Firefox 3 phát hành, và ngày càng nhiều người dùng Linux cũng như Mac OS X than phiền về tốc độ của trình duyệt của Mozilla. Bài viết sẽ hướng dẫn bạn tối ưu để mang Firefox 3 trở về “thuở ban đầu”.



Bài viết này chứa một số thông tin chuyên sâu về hệ thống. Nếu bạn không hiểu, đừng ngần ngại đặt câu hỏi trong phần bình luận. Bạn cũng có thể gửi bài này cho những người am hiểu máy tính và nhờ họ giải thích. Chắc hẳn họ cũng rất quan tâm đấy!
Nguyên nhân


Kể từ phiên bản 3.0, thanh địa chỉ của Firefox được gọi là Awesome bar (thanh kinh hoàng). Bạn chỉ cần gõ vài kí tự vào thanh địa chỉ, những trang Web phù hợp nhất sẽ hiện ra. Để giải quyết vấn đề này, Firefox đã dùng đến cơ sở dữ liệu (CSDL) để lưu danh sách các trang Web đã duyệt, thay vì dùng XML như trước đây. Nhóm phát triển của Mozilla chọn SQLite là cơ sở dữ liệu gọn nhẹ nhất hiện nay.
Để đảm bảo tính toàn vẹn, SQLite dùng hàm fsync khi lưu dữ liệu. Hàm này yêu cầu hệ điều hành ghi toàn bộ nội dung trong vùng nhớ đệm trước khi tiến hành các thao tác khác. Trong quá trình này, hệ thống có thể ngưng mọi hoạt động khác.
Nếu bạn sử dụng Firefox càng lâu và duyệt Web càng nhiều, CSDL càng lớn và quá trình này kéo dài hơn bình thường. Rất may mắn là Windows “mặc kệ” yêu cầu fsync, nên Firefox trên Windows không bị ảnh hưởng nhiều. Trên Linux (và Mac OS X - dựa trên FreeBSD), vấn đề khá trầm trọng, nhất là khi bạn sử dụng laptop với ổ cứng không nhanh lắm!
Khắc phục

Hiện giờ, cách khắc phục duy nhất là... dọn dẹp CSDL này. Đã có nhiều tranh luận về SQLite và fsync, nhưng nhóm phát triển Firefox giữ nguyên luận điểm của mình: thà chạy chậm còn hơn mất dữ liệu và nghe khách hàng than phiền!
Để dọn dẹp CSDL, cách đơn giản nhất là xoá hẳn Firefox và cài đặt lại, hoặc tạo Profile mới (hướng dẫn bằng tiếng Anh có tại kb.mozillazine.org - cách chuyển dữ liệu sang Profile mới cũng có tại địa chỉ này). Như vậy bạn sẽ xoá bỏ tất cả, chỉ giữ lại những gì cần thiết.
Cách khác, được giới thiệu dưới đây, sẽ dọn dẹp CSDL cho bạn mà không cần tạo Profile mới: dùng lệnh VACUUM để tối ưu CSDL. Chú ý: hãy thoát Firefox trước khi tiến hành các thao tác dưới đây.
Trên Linux (Ubuntu)

Nếu máy bạn chưa có SQLite 3 thì bạn cần phải cài đặt:
sudo apt-get install sqlite3Gõ lệnh sau để tối ưu tất cả CSDL trong Firefox:
for f in ~/.mozilla/firefox/*/*.sqlite; do sqlite3 $f 'VACUUM;'; doneLệnh trên nén các CSDL SQLite để tăng tốc độ truy xuất.
nguồn sưu tầm

View more latest threads same category: