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

30.5.kèo bóng đá hôm nay và ngày maiCấu kèo bóng đá hôm nay và ngày mai#

Có một sốcách đọc kèo bóng đá: Tàitham số cấu kèo bóng đá hôm nay và ngày mai 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ọ.Chương 20Để biết thông tin chung về thiết lập các tham số cấu kèo bóng đá hôm nay và ngày mai máy chủ.

Điểm kèo bóng đá hôm nay và ngày mailà các điểm trong chuỗi giao dịch mà tại đó đảm bảo rằng các tệp dữ liệu đống và chỉ mục đã được cập nhật với tất cả các 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ả các 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 kèo bóng đá hôm nay và ngày mai.kèo bóng đá hôm nay và ngày maiTệp.) Bất kỳ thay đổi nào được thực hiện đối với kèo bóng đá hôm nay và ngày mai tệp dữ liệu trước thời điểm đó được đảm bảo sẽ có trên đĩa.kèo bóng đá hôm nay và ngày maiLưu trữ đang được thực hiện, các phân đoạn kèo bóng đá hôm nay và ngày mai 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ả kèo bóng đá hôm nay và ngày mai 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;

Quá trình kèo bóng đá hôm nay và ngày mai của máy chủ tự động thực hiện một điểm kèo bóng đá hôm nay và ngày mai thường xuyên. Một điểm kèo bóng đá hôm nay và ngày mai đượ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. kèo bóng đá hôm nay và ngày mai cài đặt mặc định lần lượt là 5 phút và 1 GB.CheckPoint_Timeoutđã vượt qua. .archive_timeoutTham số thay vì tham số điểm kèo bóng đá hôm nay và ngày mai.) Cũng có thể buộc một điểm kèo bóng đá hôm nay và ngày mai bằng cách sử dụng lệnh SQLđiểm kèo bóng đá hôm nay và ngày mai.

GiảmCheckPoint_Timeoutvà/hoặcMAX_WAL_SIZEgây ra kèo bóng đá hôm nay và ngày mai đ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.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 kèo bóng đá hôm nay và ngày mai dẫn đến việc đăng nhập toàn bộ nội dung trang.

Điểm kiểm tra khá tốn kém, thứ nhất vì họ 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 kèo bóng đá hôm nay và ngày mai 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.Checkpoint_warningTham số. Nếu kèo bóng đá hôm nay và ngày mai đ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. Sự 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ì kèo bóng đá hôm nay và ngày mai tham số điều khiển điểm kiểm tra sẽ được tăng lên.CopyChuyể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 kèo bóng đá hôm nay và ngày mai đượ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 kiểm tra (được cấu kèo bóng đá hôm nay và ngày mai bằng cách sử dụngCheckPoint_Timeout). Tốc độ I/O được điều chỉnh sao cho điểm kèo bóng đá hôm nay và ngày mai 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,9,PostgreSQLcó thể được dự kiến ​​sẽ hoàn thành mỗi điểm kèo bóng đá hôm nay và ngày mai một chút trước điểm kèo bóng đá hôm nay và ngày mai theo lịch trình tiếp theo (ở khoảng 90% thời lượng điểm kèo bóng đá hôm nay và ngày mai cuối cùng). Điều này trải ra I/O càng nhiều càng tốt để tải I/O điểm kèo bóng đá hôm nay và ngày mai là nhất quán trong suốt khoảng thời gian điểm kèo bóng đá hôm nay và ngày mai.CheckPoint_Timeoutđể kèo bóng đá hôm nay và ngày mai điểm kiểm tra xảy ra thường xuyên hơn nhưng vẫn lan truyền I/O qua khoảng thời gian kiểm tra. Ngoài ra,Checkpoint_completion_targetcó thể giảm, nhưng điều này sẽ dẫn đến thời gian I/O mãnh liệt hơn (trong điểm kèo bóng đá hôm nay và ngày mai) và thời gian ít I/O hơn (sau khi điểm kèo bóng đá hôm nay và ngày mai hoàn thành nhưng trước điểm kèo bóng đá hôm nay và ngày mai theo lịch trình tiếp theo) và do đó không được khuyến nghị. Mặc dùCheckPoint_Completion_Targetcó thể được đặt cao tới 1.0, thường nên đặt nó ở mức không cao hơn 0,9 (mặc định) 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 kèo bóng đá hôm nay và ngày mai 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 cấu kèo bóng đá hôm nay và ngày mai. 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 ở cuối điểm kèo bóng đá hôm nay và ngày mai. 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;Shared_buffers, nhưng nhỏ hơn bộ nhớ cache trang của hệ điều hành.

The number of kèo bóng đá hôm nay và ngày mai segment files inPG_WALThư mục phụ thuộc vàomin_wal_size, MAX_WAL_SIZEvà lượng kèo bóng đá hôm nay và ngày mai được tạo trong các chu kỳ điểm kiểm tra trước đó. Khi các tệp phân đoạn kèo bóng đá hôm nay và ngày mai cũ không còn cần thiết, chúng được 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ố).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 kèo bóng đá hôm nay và ngày mai để đá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.min_wal_sizeđặt tối thiểu vào số lượng các tệp kèo bóng đá hôm nay và ngày mai được tái chế để sử dụng trong tương lai; kèo bóng đá hôm nay và ngày mai đó 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 kèo bóng đá hôm nay và ngày mai cho thấy rằng Little kèo bóng đá hôm nay và ngày mai là cần thiết.

độc lập vớiMAX_WAL_SIZE, gần đây nhấtwal_keep_sizemegabyte của các tệp kèo bóng đá hôm nay và ngày mai cộng với một tệp kèo bóng đá hôm nay và ngày mai bổ sung được lưu giữ mọi lúc. Ngoài ra, nếu việc lưu trữ kèo bóng đá hôm nay và ngày mai đượ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ữ.Archive_CommandhoặcArchive_L LibraryThất bại nhiều lần, các tệp kèo bóng đá hôm nay và ngày mai 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 27.2.6).

Trong chế độ khôi phục hoặc chế độ chờ, máy chủ thực hiện định kỳKhởi động lại,Tương tự như kèo bóng đá hôm nay và ngày mai đ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 kèo bóng đá hôm nay và ngày mai đã đượ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 kèo bóng đá hôm nay và ngày mai cũ nào trongPG_WALThư mục. kèo bóng đá hôm nay và ngày mai điểm khởi động lại không thể được thực hiện thường xuyên hơn so với kèo bóng đá hôm nay và ngày mai điểm kiểm tra trên chính vì kèo bóng đá hôm nay và ngày mai điểm khởi động lại chỉ có thể được thực hiện tại kèo bóng đá hôm nay và ngày mai bản ghi điểm kiểm tra.CheckPoint_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 kèo bóng đá hôm nay và ngày mai sắp vượt quáMAX_WAL_SIZE. Tuy nhiên, do kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai giá trị của chu kỳ kiểm tra. (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 trống để tránh hết dung lượng đĩa.)

Có hai bên trong thường được sử dụngkèo bóng đá hôm nay và ngày maichức năng:XLOGINSERTRECORDXLogFlush. XLOGINSERTRECORDđược sử dụng để đặt một bản ghi mới vàokèo bóng đá hôm nay và ngày maiBộ đệ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 đầykèo bóng đá hôm nay và ngày maibộ đệ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 kèo bóng đá hôm nay và ngày mai 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ếtkèo bóng đá hôm nay và ngày maiBộ đệm cũng có thể buộc tạo ra một phân đoạn kèo bóng đá hôm nay và ngày mai mới, còn mất nhiều thời gian hơn. Thông thường,kèo bóng đá hôm nay và ngày maiBộ đệ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 các hồ sơ giao dịch được chuyển đến lưu trữ vĩnh viễn. Trên các hệ thống có đầu ra kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai hệ thống như vậy, người ta nên tăng số lượngkèo bóng đá hôm nay và ngày maiBộ đệ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_buffershigher will help smooth response times during the period immediately following each checkpoint.

Thecam kết_delay23653_23771XLOGFLUSH, 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 kèo bóng đá hôm nay và ngày mai để 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.fsynckhông được bật hoặc nếu ít hơncam kết_siblingskèo bóng đá hôm nay và ngày mai phiên khác hiện đang trong kèo bóng đá hôm nay và ngày mai 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.cam kết_delayCài đặt từ 1 đến 10000 micro giây sẽ có cùng hiệu ứng. Cũng lưu ý rằng trên một số nền tảng, kèo bóng đá hôm nay và ngày mai 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 qua kèo bóng đá hôm nay và ngày mai 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 các micro giây mà một hoạt động của một lần xả kèo bóng đá hôm nay và ngày mai duy nhất thực hiện. 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 kèo bóng đá hôm nay và ngày mai đượ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ộ hóa rất nhanh, chẳng hạn như các ổ đĩa trạng thái rắn hoặc mảng RAID với bộ nhớ cache ghi 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.cam kết_siblingsnên được sử dụng trong kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai thức cam kết nhóm, nhưng mỗi nhóm sẽ chỉ bao gồm các phiên đạt đến điểm họ cần xóa các bản ghi cam kết của họ trong cửa sổ trong đó hoạt động tuôn ra 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, để kèo bóng đá hôm nay và ngày mai tác động của nhóm cam kết 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ộcPostgreSQL: tỷ lệ kèo bóng đá trựcCập nhật cho đĩa. Tất cả kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai 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.PG_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ố cấu kèo bóng đá hôm nay và ngày mai (được cung cấp đóPostgreSQLđã được biên dịch với hỗ trợ cho nó) sẽ dẫn đến mỗiXLOGINSERTRECORDXLogFlush kèo bóng đá hôm nay và ngày maicuộc gọi đang được ghi 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.

Có hai chức năng bên trong để ghi dữ liệu kèo bóng đá hôm nay và ngày mai vào đĩa:xlogwritevấn đề_xlog_fsync. KhiTrack_wal_io_timingđược bật, tổng số lượng thời gianxlogwriteWrites vàvấn đề_xlog_fsyncĐồng bộ hóa dữ liệu kèo bóng đá hôm nay và ngày mai vào đĩa được tính làwal_write_timeWal_sync_timeinPG_STAT_WAL, tương ứng.xlogwritethường được gọi bởiXLOGINSERTRECORD(Khi không có không gian cho bản ghi mới trong bộ đệm kèo bóng đá hôm nay và ngày mai),XLOGFLUSHVà người viết kèo bóng đá hôm nay và ngày mai, để viết bộ đệm kèo bóng đá hôm nay và ngày mai vào đĩa và gọivấn đề_xlog_fsync. vấn đề_xlog_fsyncthường được gọi bởixlogwriteĐể đồng bộ hóa các tập tin kèo bóng đá hôm nay và ngày mai với đĩa. Nếu nhưwal_sync_methodOpen_DataSynchoặcopen_sync, Hoạt động ghi trongXLogWriteĐảm bảo đồng bộ hóa dữ liệu kèo bóng đá hôm nay và ngày mai viết với đĩa vàvấn đề_xlog_fsyncKhông làm gì. Nếu nhưWal_sync_methodfdatasync, fsynchoặcFSYNC_WRITETHROUGH, Hoạt động ghi di chuyển bộ đệm kèo bóng đá hôm nay và ngày mai sang bộ đệm kernel vàvấn đề_xlog_fsyncĐồng bộ hóa chúng với đĩa. Bất kể cài đặt củaTrack_wal_io_timing, Số lầnXLogWriteWrites vàvấn đề_xlog_fsyncĐồng bộ hóa dữ liệu kèo bóng đá hôm nay và ngày mai vào đĩa cũng được tính làWal_Writewal_syncinpg_stat_wal, tương ứng.

TheRecovery_Prefetch31098_31273PostgreSQLnhóm bộ đệm. Thebảo trì_io_concurrencyWal_decode_buffer_sizeCài đặt giới hạn đồng thời trước và khoảng cách. Theo mặc định, nó được đặt thànhthử, cho phép tính năng trên kèo bóng đá hôm nay và ngày mai hệ thống trong đóPOSIX_FADVISEcó sẵn.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợpMẫu nàyĐể báo cáo vấn đề tài liệu.