Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong tỷ lệ kèo bóng đá tối nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

30.4.kèo bóng đá c1: Tàitỷ lệ kèo bóng đá tối nay

Có một sốtỷ lệ kèo bóng đá tối naytham số tỷ lệ kèo bóng đá tối nay liên quan đế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 19Để biết thông tin chung 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à tỷ lệ kèo bóng đá tối nay điểm trong chuỗi giao dịch mà tại đó đảm bảo rằng tỷ lệ kèo bóng đá tối nay tệp dữ liệu HEAP và INDEX đã được cập nhật với tất cả tỷ lệ kèo bóng đá tối nay thông tin được viết trước điểm kiểm tra đó. Vào thời điểm điểm kiểm tra, 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à bản ghi điểm kiểm tra đặc biệt được ghi vào tệp nhật ký. (Hồ sơ thay đổi trước đây đã được chuyển sangtỷ lệ kèo bóng đá tối nayTệp.) Bất kỳ thay đổi nào được thực hiện đối với tỷ lệ kèo bóng đá tối nay tệp dữ liệu trước thời điểm đó được đảm bảo sẽ có trên đĩa. Do đó, sau một điểm kiểm tra, tỷ lệ kèo bóng đá tối nay phân đoạn nhật ký trước bản ghi có chứa bản ghi làm lại không còn cần thiết và có thể được tái chế hoặc loại bỏ. (Khitỷ 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 vào đĩ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 để I/O bắt đầu khi bắt đầu điểm kiểm tra và hoàn thành trước khi điểm kiểm tra tiếp theo là do bắt đầu; Điều 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.

Quá trình tỷ lệ kèo bóng đá tối nay của máy chủ tự động thực hiện một điểm tỷ lệ kèo bóng đá tối nay thường xuyên. Một điểm tỷ lệ kèo bóng đá tối nay được bắt đầu mỗiCheckPoint_Timeoutgiây hoặc nếuMAX_WAL_SIZEsắp vượt quá, tùy theo điều kiện nào đến trước. Các cài đặt mặc định lần lượt là 5 phút và 1 GB. Nếu không có tỷ lệ kèo bóng đá tối nay đã được viết kể từ trạm kiểm soát trước đó, các điểm kiểm tra mới sẽ bị bỏ qua ngay cả khiCheckPoint_TimeoutĐã qua. .Archive_TimeoutTham số thay vì tham số điểm tỷ lệ kèo bóng đá tối nay.) 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_Timeoutvà/hoặcMAX_WAL_SIZEgây ra tỷ lệ kèo bóng đá tối nay điểm kiểm tra xảy ra 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 đượ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í gia tăng của tỷ lệ kèo bóng đá tối nay trang dữ liệu bẩn thường xuyên hơn. Nếu nhưfull_page_writesđược đặt (như mặc định), có một yếu tố khác để xem xét. Để đảm bảo tính nhất quán của trang dữ liệu, sửa đổi đầu tiên của trang dữ liệu sau mỗi điểm kiểm tra dẫn đến việc đăng nhập toàn bộ nội dung trang. Trong trường hợp đó, khoảng thời gian điểm kiểm tra nhỏ hơn làm tăng thể tích đầu ra vào nhật ký tỷ lệ kèo bóng đá tối nay, phủ nhận một phần mục tiêu của việc sử dụng một khoảng thời gian nhỏ hơn và trong mọi trường hợp gây ra nhiều đĩa I/O.

Điểm kiểm tra khá đắt tiền, thứ nhất 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. Do đó, thật khôn ngoan khi đặt các tham số kiểm tra đủ cao để các điểm kiểm tra không xảy ra quá thường xuyên. Khi kiểm tra sự 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 thông báo sẽ được xuất vào nhật ký máy chủ đề xuất tăngMAX_WAL_SIZE. Thỉnh thoảng xuất hiện của một thông điệp như vậy không phải là nguyên nhân cho báo động, 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 sẽ được tăng lên. tỷ lệ kèo bóng đá tối nay hoạt động hàng loạt như lớnCopyChuyển khoản có thể khiến một số cảnh báo như vậy xuất hiện nếu bạn chưa đặtMAX_WAL_SIZEđủ cao.

Để tránh làm ngập hệ thống I/O với một vụ nổ trang, viết bộ đệm bẩn trong một điểm tỷ lệ kèo bóng đá tối nay được trải đều trong một khoảng thời gian. Khoảng thời gian đó được kiểm soát bởiCheckPoint_completion_target, được đưa ra dưới dạng một phần của khoảng điểm tỷ lệ kèo bóng đá tối nay. Tốc độ I/O được điều chỉnh sao cho điểm tỷ lệ kèo bóng đá tối nay kết thúc khi phần đã cho củaCheckPoint_Timeoutgiây đã trôi qua hoặc trướcMAX_WAL_SIZEbị vượt quá, 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 ​​sẽ 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 điểm tỷ lệ kèo bóng đá tối nay tiếp theo bắt đầu. Trên một hệ thống rất gần với thông lượng I/O tối đa 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 phân đoạn tỷ lệ kèo bóng đá tối nay sẽ cần phải được giữ xung quanh để sử dụng để phục hồi. Mặc dùCheckPoint_completion_targetcó thể được đặt cao tới 1.0, tốt nhất là giữ nó ít hơn thế (có lẽ là 0,9) vì các điểm kiểm tra bao gồm một số hoạt động khác ngoài việc viết bộ đệm bẩn. Cài đặt 1.0 hoàn toàn có khả năng dẫn đến các điểm kiểm tra không được hoàn thành đúng hạn, điều này sẽ dẫn đến mất hiệu suất do sự thay đổi bất ngờ về số lượng các phân đoạn tỷ lệ kèo bóng đá tối nay cần thiết.

trên nền tảng Linux và PosixCheckpoint_flush_afterCho phép buộc hệ điều hành mà các trang được viết bởi điểm kiểm tra phải được chuyển vào đĩa sau một số byte có thể định tỷ lệ kèo bóng đá tối nay. Nếu không, các trang này có thể được giữ trong bộ đệm trang của hệ điều hành, tạo ra một gian hàng khifsyncđược cấp vào cuối điểm tỷ lệ kèo bóng đá tối nay. Cài đặt này thường sẽ giúp giảm độ trễ giao dịch, nhưng nó cũng có thể có ảnh hưởng xấu đến hiệu suất; đặc biệt đối với khối lượng công việc lớn hơnShared_buffers, nhưng nhỏ hơn bộ nhớ cache trang của hệ điều hành.

Số lượng tệp phân đoạn tỷ lệ kèo bóng đá tối nay trongpg_walThư mục phụ thuộc vàomin_wal_size, MAX_WAL_SIZEvà lượng tỷ lệ kèo bóng đá tối nay được tạo trong các chu kỳ điểm kiểm tra trước đó. Khi các tệp phân đoạn nhật ký cũ không còn cần thiết, chúng bị xóa hoặc tái chế (nghĩa là, được đổi tên thành các phân đoạn trong tương lai trong chuỗi được đánh số). Nếu, do tốc độ đầu ra nhật ký ngắn hạn,MAX_WAL_SIZEbị vượt quá, các tệp phân đoạn không cần thiết sẽ bị xóa cho đến khi hệ thống trở lại dưới giới hạn này. Bên dưới giới hạn đó, hệ thống tái chế đủ các tệp tỷ lệ kèo bóng đá tối nay để đáp ứng nhu cầu ước tính cho đến khi điểm kiểm tra tiếp theo và xóa phần còn lại. Ước tính dựa trên mức trung bình di chuyển của số lượng tệp tỷ lệ kèo bóng đá tối nay được sử dụng trong các chu kỳ điểm kiểm tra trước đó. Trung bình di chuyển được tăng ngay lập tức nếu việc sử dụng thực tế vượt quá ước tính, do đó, nó phù hợp với mức sử dụng cao nhất thay vì sử dụng trung bình ở một mức độ nào đó.min_wal_sizeĐặt tối thiểu về số lượng các tệp tỷ lệ kèo bóng đá tối nay được tái chế để sử dụng trong tương lai; tỷ lệ kèo bóng đá tối nay đó luôn được tái chế để sử dụng trong tương lai, ngay cả khi hệ thống không hoạt động và ước tính sử dụng tỷ lệ kèo bóng đá tối nay cho thấy rằng Little tỷ lệ kèo bóng đá tối nay là cần thiết.

độc lập vớiMAX_WAL_SIZE, wal_keep_segments+ 1 Các tập tin tỷ lệ kèo bóng đá tối nay gần đây nhất được lưu giữ mọi lúc. Ngoài ra, nếu việc lưu trữ tỷ lệ kèo bóng đá tối nay được sử dụng, các phân đoạn cũ không thể được gỡ bỏ hoặc tái chế cho đến khi chúng được lưu trữ. Nếu lưu trữ tỷ lệ kèo bóng đá tối nay không thể theo kịp tốc độ mà tỷ lệ kèo bóng đá tối nay được tạo ra, hoặc nếuArchive_CommandThất bại nhiều lần, các tệp tỷ lệ kèo bóng đá tối nay cũ sẽ tích lũy trongpg_walCho đến khi tình huống được giải quyết. Một máy chủ dự phòng chậm hoặc không thành công sử dụng khe sao chép sẽ có hiệu ứng tương tự (xemPhần 26.2.6).

Trong chế độ khôi phục hoặc chế độ chờ lưu trữ, máy chủ thực hiện định kỳKhởi động lại,Tương tự như tỷ lệ kèo bóng đá tối nay điểm kiểm tra trong hoạt động bình thường: Máy chủ buộc tất cả trạng thái của nó sang đĩa, cập nhậtPG_ControlTệp để chỉ ra rằng dữ liệu tỷ lệ kèo bóng đá tối nay đã được xử lý không cần phải được quét lại và sau đó tái chế bất kỳ tệp phân đoạn nhật ký cũ nào trongPG_WALThư mục. RESTARTPOINT không thể được thực hiện thường xuyên hơn so với tỷ lệ kèo bóng đá tối nay điểm kiểm tra trong Master vì chỉ có thể thực hiện tỷ lệ kèo bóng đá tối nay điểm khởi động lại tại tỷ lệ kèo bóng đá tối nay bản ghi điểm kiểm tra. Một điểm khởi động lại được kích hoạt khi đạt được bản ghi điểm kiểm tra nếu ít nhấtCheckPoint_Timeoutgiây đã trôi qua kể từ lần khởi động lại cuối cùng hoặc nếu kích thước tỷ lệ kèo bóng đá tối nay sắp vượt quáMAX_WAL_SIZE. Tuy nhiên, do tỷ lệ kèo bóng đá tối nay hạn chế khi có thể thực hiện khi khởi động lại,MAX_WAL_SIZEthường bị vượt quá trong quá trình phục hồi, bằng một giá trị của tỷ lệ kèo bóng đá tối nay. (MAX_WAL_SIZEDù sao cũng không bao giờ là giới hạn cứng, vì vậy bạn nên luôn luôn để lại nhiều khoảng không để tránh hết dung lượng đĩa.)

Có hai bên trong thường được sử dụngtỷ lệ kèo bóng đá tối naychức năng:XLOGINSERTRECORDXLOGFLUSH. XLOGINSERTRECORDđược sử dụng để đặt một bản ghi mới vàotỷ lệ kèo bóng đá tối naybộ đệm trong bộ nhớ chia sẻ. Nếu không có khoảng trống cho bản ghi mới,XLOGINSERTRECORDSẽ phải viết (chuyển sang bộ đệm kernel) một vài lần được lấp đầytỷ lệ kèo bóng đá tối naybộ đệm. Điều này là không mong muốn vìXLOGINSERTRECORDđược sử dụng trên mọi sửa đổi cấp thấp của cơ sở dữ liệu (ví dụ: chèn hàng) tại thời điểm 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, do đó, hoạt động cần càng nhanh càng tốt. Điều tồi tệ hơn, viếttỷ lệ kèo bóng đá tối nayBộ đệm cũng có thể buộ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 phải được viết và xả bằng mộtXLOGFLUSHYêu cầu, được thực hiện, phần lớn, tại thời điểm giao dịch cam kết để đảm bảo rằng tỷ lệ kèo bóng đá tối nay hồ sơ giao dịch được chuyển đến lưu trữ vĩnh viễn. Trên tỷ lệ kèo bóng đá tối nay hệ thống có đầu ra nhật ký cao,XLOGFLUSHYêu cầu có thể không xảy ra đủ thường xuyên để ngăn chặnXLOGINSERTRECORDTừ việc phải viết. Trên tỷ lệ kèo bóng đá tối nay hệ thống như vậy, người ta nên tăng số lượngtỷ lệ kèo bóng đá tối nayBộ đệm bằng cách sửa đổiWal_buffersTham số. Khifull_page_writesđược đặt và hệ thống rất bận, cài đặtWal_bufferscao hơn sẽ giúp thời gian phản hồi trơn tru trong khoảng thời gian ngay sau mỗi điểm tỷ lệ kèo bóng đá tối nay.

Thecam kết_delay23286_23404XLOGFLUSH, trong khi nhóm cam kết theo dõi xếp hàng sau người lãnh đạo. Sự chậm trễ này cho phép các quy trình máy chủ khác thêm các bản ghi cam kết của họ vào bộ đệm tỷ lệ kèo bóng đá tối nay để tất cả chúng sẽ bị xóa bởi hoạt động đồng bộ hóa cuối cùng của người lãnh đạo. Không có giấc ngủ sẽ xảy ra nếufsynckhông được bật hoặc 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 được ngủ khi không có bất kỳ phiên nào khác sẽ sớm cam kết. Lưu ý rằng trên một số nền tảng, độ phân giải của yêu cầu giấc ngủ 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ó hiệu ứng tương tự. Cũng lưu ý rằng trên một số nền tảng, tỷ lệ kèo bóng đá tối nay hoạt động ngủ có thể mất nhiều thời gian hơn một chút so với yêu cầu của tham số.

Vì mục đích củacam kết_delaylà cho phép chi phí của mỗi hoạt động tuôn ra được khấu hao theo tỷ lệ kèo bóng đá tối nay giao dịch thực hiện đồng thời (có khả năng phải trả chi phí cho độ trễ giao dịch), cần phải định lượng chi phí đó trước khi cài đặt có thể được chọn một cách thông minh. Chi phí đó càng cao thì càng hiệu quảcam kết_delaydự kiến ​​sẽ tăng thông lượng giao dịch, lên đến một điểm. Thepg_test_fsyncChương trình có thể được sử dụng để đo thời gian trung bình tính bằng tỷ lệ kèo bóng đá tối nay micro giây mà một hoạt động của một lần tuôn ra. Giá trị của một nửa thời gian trung bình mà chương trình báo cáo cần phải có sau khi hoạt động ghi 8kB thường là cài đặt hiệu quả nhất chocam kết_delay, vì vậy giá trị này được khuyến nghị làm điểm bắt đầu để sử dụng khi tối ưu hóa cho một khối lượng công việc cụ thể. Trong khi điều chỉnhcam kết_delayĐặc biệt hữu ích khi nhật ký tỷ lệ kèo bóng đá tối nay được lưu trữ trên các đĩa quay có độ trễ cao, lợi ích có thể là đáng kể ngay cả trên phương tiện lưu trữ với thời gian đồng bộ rất nhanh, chẳng hạn như các ổ đĩa trạng thái rắn hoặc mảng đột kích với bộ đệm ghi bằng pin; Nhưng điều này chắc chắn nên được kiểm tra đối với một khối lượng công việc đại diện. Giá trị cao hơn củacam kết_siblingsnên được sử dụng trong tỷ lệ kèo bóng đá tối nay trường hợp như vậy, trong khi nhỏ hơncam kết_siblingsGiá trị thường hữu ích trên phương tiện có độ trễ cao hơn. Lưu ý rằng hoàn toàn có thể là một cài đặtcam kết_delayĐiều đó quá cao có thể tăng độ trễ giao dịch bằng nhiều đến mức tổng thông lượng giao dịch bị ảnh hưởng.

Khicam kết_delayđược đặt thành 0 (mặc định), vẫn có thể xảy ra hình thức cam kết nhóm, nhưng mỗi nhóm sẽ chỉ bao gồm tỷ lệ kèo bóng đá tối nay phiên đạt đến điểm mà họ cần xóa tỷ lệ kèo bóng đá tối nay bản ghi cam kết của họ trong cửa sổ trong đó hoạt động Flush trước đó (nếu có) xảy ra. Ở mức độ khách hàng cao hơn được tính AHiệu ứng GangwayHồicó xu hướng xảy ra, để tỷ lệ kèo bóng đá tối nay tác động của cam kết nhóm trở nên đáng kể ngay cả khicam kết_delaybằng không, và do đó cài đặt rõ ràngcam kết_delaycó xu hướng giúp ít hơn. Cài đặtcam kết_delayChỉ có thể giúp khi (1) có một số giao dịch cam kết đồng thời và (2) thông lượng bị giới hạn ở một mức độ nào đó theo tỷ lệ cam kết; Nhưng với độ trễ quay cao, cài đặt này có thể có hiệu quả trong việc tăng thông lượng giao dịch với ít nhất hai máy khách (nghĩa là một ứng dụng khách cam kết với một giao dịch anh chị em).

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, ngoại trừFSYNC_WRITETHROUGH, đôi khi có thể buộc một bộ đệm của đĩa ngay cả khi tỷ lệ kèo bóng đá tối nay tùy chọn khác không làm như vậy. Tuy nhiên, nó khá đặc trưng cho nền tảng nào sẽ là nhanh nhất. Bạn có thể kiểm tra tốc độ của tỷ lệ kèo bóng đá tối nay tùy chọn khác nhau bằng cách sử dụngpg_test_fsyncChương trình. 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 (được cung cấp đóPostgreSQLđã được biên dịch với hỗ trợ cho nó) sẽ dẫn đến mỗiXLOGINSERTRECORDXLogFlush Postgresql: Tài liệu: 10:cuộc gọi đang được đăng nhập vào nhật ký máy chủ. Tùy chọn này có thể được thay thế bằng một cơ chế chung hơn trong tương lai.