Postgresql 8.4.22 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 28. Độ tin cậy và nhật ký ghi lại | Chuyển tiếp nhanh | Tiếp theo |
Có một sốPostgreSQL: Tài liệu:tham số tỷ lệ kèo bóng đá tối nay liên quan ảnh hưởng đến hiệu suất cơ sở dữ liệu. Phần này giải thích việc sử dụng của họ. Tham khảo ý kiếnChương 18cho chung thông tin về thiết lập tham số tỷ lệ kèo bóng đá tối nay máy chủ.
điểm tỷ lệ kèo bóng đá tối naylà điểm trong chuỗi giao dịch tại mà nó được đảm bảo rằng tỷ lệ kèo bóng đá tối nay tệp dữ liệu đã được cập nhật với Tất cả thông tin được viết trước trạm kiểm soát. Tại điểm kiểm tra thời gian, tất cả tỷ lệ kèo bóng đá tối nay trang dữ liệu bẩn được chuyển vào đĩa và đặc biệt Bản ghi điểm kiểm tra được ghi vào tệp nhật ký. (Những thay đổi là trước đây đã được chuyển sangtỷ lệ kèo bóng đá tối nay11668_12126tỷ lệ kèo bóng đá tối nayLưu trữ đang được thực hiện, tỷ lệ kèo bóng đá tối nay phân đoạn nhật ký phải được lưu trữ trước khi được tái chế hoặc LOẠI BỎ.)
Yêu cầu điểm kiểm tra của việc xả tất cả tỷ lệ kèo bóng đá tối nay trang dữ liệu bẩn để Đĩa có thể gây ra tải I/O đáng kể. Vì lý do này, Hoạt động điểm kiểm tra được điều chỉnh nên I/O bắt đầu ở điểm kiểm tra Bắt đầu và hoàn thành trước khi điểm kiểm tra tiếp theo bắt đầu; cái này Giảm thiểu sự suy giảm hiệu suất trong tỷ lệ kèo bóng đá tối nay trạm kiểm soát.
Quy trình người viết nền của máy chủ sẽ tự động Thực hiện một trạm kiểm soát thường xuyên. Một điểm tỷ lệ kèo bóng đá tối nay được tạo mọiCheckPoint_SegmentsPhân đoạn nhật ký hoặc mọiCheckPoint_Timeoutgiây, tùy theo điều kiện nào đến trước. Cài đặt mặc định là 3 phân đoạn và 300 giây tương ứng. Nó cũng có thể Buộc một điểm tỷ lệ kèo bóng đá tối nay bằng cách sử dụng lệnh sqlđiểm tỷ lệ kèo bóng đá tối nay.
GiảmCheckPoint_Segmentsvà/hoặcCheckPoint_Timeoutgây ra tỷ lệ kèo bóng đá tối nay điểm kiểm tra đến được thực hiện thường xuyên hơn. Điều này cho phép phục hồi sau khi phá hủy nhanh hơn (vì ít công việc sẽ cần phải được làm lại). Tuy nhiên, người ta phải Cân bằng điều này so với chi phí tăng dữ liệu bẩn trang thường xuyên hơn. Nếu nhưfull_page_writes13545_13950
Điểm kiểm tra khá đắt, đầu tiên vì chúng yêu cầu viết ra tất cả các bộ đệm hiện đang bẩn, và thứ hai vì chúng dẫn đến lưu lượng truy cập tỷ lệ kèo bóng đá tối nay tiếp theo như đã thảo luận ở trên. Nó là Do đó, khôn ngoan để đặt các tham số kiểm tra đủ cao Điểm kiểm tra đó không xảy ra quá thường xuyên. Như một kiểm tra tỉnh táo đơn giản Trên các tham số kiểm tra của bạn, bạn có thể đặtCheckpoint_warningTham số. Nếu tỷ lệ kèo bóng đá tối nay điểm kiểm tra xảy ra gần nhau hơnCheckpoint_warninggiây, một tin nhắn sẽ đầu ra vào nhật ký máy chủ khuyến nghị tăngCheckPoint_Segments. Thỉnh thoảng xuất hiện như vậy một tin nhắn không phải là nguyên nhân cho báo thức, nhưng nếu nó xuất hiện thường xuyên thì tỷ lệ kèo bóng đá tối nay tham số điều khiển điểm kiểm tra nên được tăng lên. Số lượng lớn tỷ lệ kèo bóng đá tối nay hoạt động như lớnCopyChuyển có thể khiến một số cảnh báo như vậy xuất hiện nếu bạn không bộCheckPoint_Segmentsđủ cao.
Để tránh làm ngập hệ thống I/O với một vụ nổ trang ghi, Viết bộ đệm bẩn trong một trạm kiểm soát được trải đều trong một khoảng thời gian của thời gian. Khoảng thời gian đó được kiểm soát bởiCheckpoint_completion_target,, được đưa ra như một phần của khoảng thời gian tỷ lệ kèo bóng đá tối nay. I/O. Tỷ lệ được điều chỉnh sao cho điểm tỷ lệ kèo bóng đá tối nay kết thúc phần củaCheckPoint_Segmentstỷ lệ kèo bóng đá tối nay Các phân đoạn đã được tiêu thụ kể từ khi điểm kiểm tra bắt đầu, hoặc đã cho phần củaCheckPoint_Timeoutgiây đã trôi qua, tùy theo điều kiện nào sớm hơn. Với giá trị mặc định là 0,5,PostgreSQLcó thể dự kiến Hoàn thành mỗi điểm tỷ lệ kèo bóng đá tối nay trong khoảng một nửa thời gian trước khi tiếp theo Điểm tỷ lệ kèo bóng đá tối nay bắt đầu. Trên một hệ thống rất gần với tối đa i/o thông lượng trong quá trình hoạt động bình thường, bạn có thể muốn tăngCheckPoint_Completion_TargetĐể giảm Tải I/O từ các điểm kiểm tra. Nhược điểm của điều này là Các trạm kiểm soát kéo dài ảnh hưởng đến thời gian phục hồi, bởi vì nhiều tỷ lệ kèo bóng đá tối nay hơn các phân khúc sẽ cần được giữ xung quanh để sử dụng có thể sự hồi phục. Mặc dùCheckPoint_Completion_Target16282_16653
16662_16758CheckPoint_Completion_Target) *CheckPoint_Segments+ 1 Tệp. Mỗi tập tin phân đoạn thường là 16 MB (mặc dù kích thước này có thể được thay đổi khi xây dựng máy chủ). Bạn có thể sử dụng điều này để ước tính tỷ lệ kèo bóng đá tối nay yêu cầu không gian chotỷ lệ kèo bóng đá tối nay. Thông thường, khi nhật ký cũ tỷ lệ kèo bóng đá tối nay tệp phân khúc không còn cần thiết nữa, chúng được tái chế (được đổi tên thành trở thành phân đoạn tiếp theo trong chuỗi được đánh số). Nếu, do một Tốc độ đầu ra nhật ký ngắn hạn, có nhiều hơn 3 *CheckPoint_Segments+ 1 Tệp phân đoạn, tỷ lệ kèo bóng đá tối nay tệp phân đoạn không cần thiết sẽ bị xóa thay vì tái chế cho đến khi hệ thống trở lại dưới giới hạn này.
Có hai nội bộ thường được sử dụngtỷ lệ kèo bóng đá tối naychức năng:Loginsert
vàlogflush
. Loginsert
được sử dụng để đặt một bản ghi mới vào
Thetỷ lệ kèo bóng đá tối naybộ đệm trong chia sẻ
ký ức. Nếu không có khoảng trống cho bản ghi mới,Loginsert
Sẽ phải viết (chuyển đến kernel
bộ nhớ cache) một vài được điềntỷ lệ kèo bóng đá tối nayBộ đệm. Điều này là không mong muốn vìLoginsert
được sử dụng trên mỗi cơ sở dữ liệu cấp thấp
sửa đổi (ví dụ: chèn hàng) tại một thời điểm
Khóa độc quyền được giữ trên tỷ lệ kèo bóng đá tối nay trang dữ liệu bị ảnh hưởng, vì vậy hoạt động
cần phải nhanh nhất có thể. Điều tồi tệ hơn, viếttỷ lệ kèo bóng đá tối nayBộ đệm cũng có thể buộc
Việc tạo ra một phân đoạn nhật ký mới, còn mất nhiều thời gian hơn.
Thông thường,tỷ lệ kèo bóng đá tối nayBộ đệm nên
được viết và đỏ bừng bởi mộtlogflush
18562_18743logflush
Yêu cầu có thể
không xảy ra thường xuyên đủ để ngăn chặnLoginsert
Từ việc phải viết. Trên như vậy
một hệ thống nên tăng số lượngtỷ lệ kèo bóng đá tối nayBộ đệm bằng cách sửa đổi tỷ lệ kèo bóng đá tối nay
tham sốWal_buffers. tỷ lệ kèo bóng đá tối nay
số mặc định củatỷ lệ kèo bóng đá tối naybộ đệm
là 8. Việc tăng giá trị này sẽ tăng tương ứng
Sử dụng bộ nhớ. Khifull_page_writesđược đặt và hệ thống rất bận rộn, đặt giá trị này cao hơn
sẽ giúp thời gian phản hồi suôn sẻ trong khoảng thời gian ngay lập tức
theo sau mỗi điểm tỷ lệ kèo bóng đá tối nay.
Thecam kết_delaytham số xác định cho bao nhiêu micro giây quy trình máy chủ
Sẽ ngủ sau khi viết một bản ghi cam kết vào nhật ký vớiLoginsert
Nhưng trước khi thực hiệnlogflush
. Độ trễ này cho phép khác
máy chủ xử lý để thêm hồ sơ cam kết của họ vào nhật ký để
Có tất cả chúng được xả bằng một bộ đồng bộ hóa duy nhất. Không có giấc ngủ
xảy ra nếufsyncIS
không được bật, cũng như nếu ít hơncam kết_siblingstỷ lệ kèo bóng đá tối nay phiên khác hiện đang trong tỷ lệ kèo bóng đá tối nay giao dịch hoạt động; Điều này tránh
Ngủ khi không có bất kỳ phiên nào khác sẽ cam kết
sớm. Lưu ý rằng trên hầu hết tỷ lệ kèo bóng đá tối nay nền tảng, độ phân giải của một giấc ngủ
yêu cầu là mười mili giây, do đó bất kỳ khác khôngcam kết_delayCài đặt từ 1 đến 10000
Micro giây sẽ có tác dụng tương tự. Giá trị tốt cho những điều này
tham số chưa rõ ràng; thử nghiệm được khuyến khích.
Thewal_sync_methodtham số xác định cáchPostgreSQLSẽ yêu cầu hạt nhân buộctỷ lệ kèo bóng đá tối nayCập nhật cho đĩa. Tất cả tỷ lệ kèo bóng đá tối nay tùy chọn phải giống nhau về độ tin cậy, với Ngoại lệFSYNC_WRITETHROUGH20989_21205src/công cụ/fsyncTrong Cây nguồn PostgreSQL. Lưu ý rằng tham số này không liên quan nếufsyncđã bị tắt.
Kích hoạtWal_debugtham số tỷ lệ kèo bóng đá tối nay (với điều kiện đóPostgreSQLđã được biên dịch với hỗ trợ
cho nó) sẽ dẫn đến mỗiLoginsert
vàlogflush
tỷ lệ kèo bóng đá tối naycuộc gọi đang được đăng nhập vào nhật ký máy chủ. Tùy chọn này có thể là
được thay thế bằng một cơ chế chung hơn trong tương lai.