PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sự trở lại của XFS trên Linux

Nếu bạn đang chạy Linux và đặc biệt là nếu bạn đang chạy cơ sở dữ liệu trên Linux, thì thật khó để đề xuất bất kỳ hệ thống tệp nào khác ngoài ext3 cũ trong những năm gần đây. Một số lựa chọn thay thế có vẻ thú vị ở một điểm – jfs, ReiserFS – hoàn toàn bị bỏ rơi vào thời điểm này. Cái gần như khả thi trong một thời gian là XFS, ban đầu là một projec SGI. Và nó sẽ trở lại ánh đèn sân khấu một lần nữa trong tuần này.

XFS đã gặp phải một số vấn đề trong quá khứ. Vì nó được thiết kế cho phần cứng ổn định, nên lúc đầu, nó không mạnh bằng phần cứng PC giá rẻ tiêu chuẩn; khá nhiều trong số đó chỉ mới được dọn dẹp hai năm trước. Nó có một vấn đề kỳ lạ với các tập tin bị xóa khiến một số người sợ hãi. Nó được coi như một công dân hạng hai trong các bản phân phối Linux định hướng kinh doanh như RedHat, yêu cầu bạn phải biên dịch hạt nhân của riêng mình; ngay cả trên CentOS ít hạn chế hơn, bạn phải thực hiện một số bước thiết lập trông kỳ lạ để thêm hỗ trợ XFS và kết quả rõ ràng là không được hỗ trợ. Và là một trong những hệ thống tệp đầu tiên bật và sử dụng mạnh mẽ các rào cản ghi, các triển khai dễ bị tấn công bởi các ổ đĩa và bộ điều khiển không làm sạch bộ nhớ đệm của chúng khi được yêu cầu, một vấn đề bạn không thường thấy trên phần cứng hiện đại nữa nếu bạn định cấu hình nó đúng (ngoại trừ SSD, nhưng đó là một câu chuyện khác).

Vậy tại sao phải bận tâm? Chà, hiệu suất là một lý do chính. Tôi thấy mình đã làm việc với XFS một lần nữa khi làm việc với phần mềm Single Node Edition miễn phí của Greenplum gần đây. Greenplum đã nói thẳng với tôi rằng họ không đề xuất bất cứ thứ gì ngoài XFS để cài đặt hiệu suất cao và có những điểm tương đồng cơ bản với PostgreSQL của cộng đồng, tôi cảm thấy đáng để điều tra lý do tại sao lại như vậy.

Thời gian trên đó hóa ra là hoàn hảo. Một trong những hạn chế khác của ext3 là trên phần cứng thông thường, nó sẽ chỉ hỗ trợ 16TB dung lượng lưu trữ. Vì bây giờ bạn có thể đặt nhiều dung lượng như vậy vào một giá đĩa có kích thước trung bình, điều đó rõ ràng là không đủ cho các hệ thống cao cấp hiện nay, ít hơn nhiều trong một vài năm tới. Nhận ra điều đó, RedHat đã và đang nghiêm túc phục hồi sự hỗ trợ của họ đối với XFS trong việc phân phối Linux của họ. RHEL 5.4, được phát hành cách đây vài tháng, đã thêm nó trở lại dưới dạng một mô-đun tùy chọn cho một số khách hàng. Bạn vẫn không thể cài đặt trên XFS và thậm chí phiên bản CentOS không hỗ trợ cài đặt 32-bit, nhưng rõ ràng nó đang thực hiện các bước trở lại chính thống.

Hôm qua, phiên bản beta công khai đầu tiên của RHEL6 đã được phát hành và XFS đã trở lại đúng với bộ tính năng chính. Nó nằm cạnh ext4 trong danh sách hệ thống tệp được hỗ trợ, chỉ ra tính phù hợp của nó đối với các cài đặt lớn nói riêng. Vì vậy, bây giờ tôi có thể nói với mọi người rằng họ có hỗ trợ XFS ở dạng hơi thô trong RHEL / CentOS 5.4, với kỳ vọng rằng đó là hệ thống tệp được hỗ trợ lớp đầu tiên khi các hệ thống được nâng cấp lên RHEL6 và nó phát triển trong tương lai, và có một số hy vọng rằng sẽ đáng tin cậy.

Với sự hỗ trợ của Linux và theo đó, khía cạnh ổn định được nhận thức của mã XFS cuối cùng đã được kiểm soát một lần nữa, còn về hiệu suất thì sao? Chà, hóa ra Greenplum đã đúng về việc XFS đáng gặp khó khăn để chạy. Tôi đã sử dụng máy chủ thử nghiệm của mình và định dạng lại một trong những ổ đĩa có tốc độ vừa phải của nó với ba tổ hợp hệ thống tệp / gắn kết khác nhau:ext3 đã đặt hàng, tạp chí ext3 và xfs. Sau ba lần chạy bonnie ++ 1.96 với mỗi hệ thống tệp, kết quả tôi thấy được chia nhỏ như thế này:

  • ext3 được đặt hàng:39-58MB / giây ghi, 44-72MB / giây đọc
  • tạp chí ext3:25-30MB / giây ghi, 49-67MB / giây đọc
  • xfs:68-72MB / giây ghi, 72-77MB / giây đọc

Mặc dù kết quả đọc ext3 tốt nhất đạt đến mức tương tự như những gì xfs có thể đạt được, nhưng về trung bình, nó hoạt động tốt hơn nhiều. Và kết quả viết tốt hơn ít nhất 25% trong mọi trường hợp. Tôi cũng thích thông lượng chặt chẽ hơn, dễ đoán hơn; hiệu suất không nhất quán là điều tôi thường gặp phải trên ext3.

Thông thường, tôi không phải là người sớm áp dụng các bản phát hành Linux mới, nhưng bản beta RHEL6 với hỗ trợ XFS đầy đủ đã thay thế bản phát hành Ubuntu mới chưa được cải thiện ở đầu danh sách các hệ điều hành cần cài đặt tiếp theo của tôi. Bạn không thường xuyên thấy công nghệ hệ thống tệp có cơ hội thứ hai để gây ấn tượng, nhưng XFS dường như đã thực hiện một bước chuyển đổi bất ngờ trở lại hoàn toàn phù hợp một lần nữa. Tôi không chắc điều đó sẽ đúng trong bao lâu nữa, vì cả ext4 đã có sẵn và btrfs tiến gần hơn đến chất lượng sản xuất bằng cách gần đây đã đạt được định dạng đĩa ổn định. Sẽ rất thú vị khi xem tập hợp các lựa chọn hệ thống tệp được tích hợp lại này trên Linux hoạt động như thế nào.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ mục một phần không được sử dụng trong mệnh đề ON CONFLICT khi thực hiện nâng cấp trong Postgresql

  2. Cấu trúc lại một hàm PL / pgSQL để trả về kết quả đầu ra của các truy vấn SELECT khác nhau

  3. Ràng buộc NOT NULL trên một tập hợp các cột

  4. Làm thế nào để kết thúc một ngày?

  5. Tổng quan về các tiện ích mở rộng đáng tin cậy trong PostgreSQL 13