Có kèo bóng đá c1 sốkèo bóng đá việt nam: Tàitham số kèo bóng đá c1 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ố kèo bóng đá c1 máy chủ.
Điểm kèo bóng đá c1là 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 HEAP và INDEX đã đượ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 đá c1. (Hồ sơ thay đổi trước đây đã được chuyển sangkèo bóng đá c111765_12207kèo bóng đá c1Lưu trữ đang được thực hiện, các phân đoạn kèo bóng đá c1 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 đá c1 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 kèo bóng đá c1 trạm kiểm soát.
Quá trình kèo bóng đá c1 của máy chủ tự động thực hiện một điểm kèo bóng đá c1 thường xuyên. Một điểm kèo bóng đá c1 đượ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ó kèo bóng đá c1 đã đượ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 kèo bóng đá c1.) Cũng có thể buộc một điểm kèo bóng đá c1 bằng cách sử dụng lệnh SQLđiểm kèo bóng đá c1
.
GiảmCheckPoint_Timeout
và/hoặcMAX_WAL_SIZE
gây ra kèo bóng đá c1 đ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 kèo bóng đá c1 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 khối lượng đầu ra của kèo bóng đá c1, một phần phủ nhận mục tiêu 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ố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 đá c1 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 kèo bóng đá c1 điểm kiểm tra xảy ra gần nhau hơnCheckpoint_warning
giây, kèo bóng đá c1 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ì kèo bóng đá c1 tham số điều khiển điểm kiểm tra sẽ được tăng lên. kèo bóng đá c1 hoạt động hàng loạt như lớnsao chép
Chuyển khoản có thể khiến kèo bóng đá c1 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 đá c1 đượ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 kèo bóng đá c1 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 đá c1 kết thúc khi phần đã cho củaCheckPoint_Timeout
giây đã trôi qua hoặc trướcMAX_WAL_SIZE
bị 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 kiểm tra một chút trước điểm kiểm tra theo lịch trình tiếp theo (khoảng 90% thời lượng điểm kiểm tra 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 kiểm tra là nhất quán trong suốt khoảng thời gian đ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 kèo bóng đá c1 sẽ cần phải được giữ xung quanh để sử dụng để phục hồi. Người dùng lo ngại về lượng thời gian cần thiết để phục hồi có thể muốn giảmCheckPoint_Timeout
để kèo bóng đá c1 điểm kiểm tra xảy ra thường xuyên hơn nhưng vẫn lan truyền I/O trên khoảng thời gian kiểm tra. Ngoài ra,CheckPoint_completion_target
có 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 đá c1) và thời gian ít I/O hơn (sau khi điểm kèo bóng đá c1 hoàn thành nhưng trước điểm kèo bóng đá c1 theo lịch trình tiếp theo) và do đó không được khuyến nghị. Mặc dùCheckPoint_completion_target
17240_17616
trên nền tảng Linux và PosixCheckpoint_flush_afterCho phép bạn buộc các trang hệ điều hành được viết bởi điểm kiểm tra để được chuyển vào đĩa sau một số byte có thể định kèo bóng đá c1. 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
17984_18188Shared_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 kèo bóng đá c1 trongpg_wal
Thư mục phụ thuộc vàomin_wal_size
, MAX_WAL_SIZE
và lượng kèo bóng đá c1 đượ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 đá c1 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ố). Nếu, do mức độ cao nhất của tỷ lệ đầu ra kèo bóng đá c1,MAX_WAL_SIZE
bị 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 đá c1 để đá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 kèo bóng đá c1 đượ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 việc sử dụng cực đại 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 kèo bóng đá c1 được tái chế để sử dụng trong tương lai; kèo bóng đá c1 đó 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 đá c1 cho thấy rằng Little kèo bóng đá c1 là cần thiết.
độc lập với19599_19613
, gần đây nhấtwal_keep_sizemegabyte của các tệp kèo bóng đá c1 cộng với một tệp kèo bóng đá c1 bổ sung được lưu giữ mọi lúc. Ngoài ra, nếu việc lưu trữ kèo bóng đá c1 đượ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ữ kèo bóng đá c1 không thể theo kịp tốc độ mà kèo bóng đá c1 được tạo ra, hoặc nếuArchive_Command
hoặcArchive_L Library
Thất bại nhiều lần, các tệp kèo bóng đá c1 cũ sẽ tích lũy trongpg_wal
Cho đến khi tình huống được giải quyết. kèo bóng đá c1 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). Tương tự, nếuTóm tắt kèo bóng đá c1được bật, kèo bóng đá c1 phân đoạn cũ được giữ cho đến khi chúng được tóm tắt.
Trong chế độ khôi phục lưu trữ 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 đá c1 đ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_Control
Tệp để chỉ ra rằng dữ liệu kèo bóng đá c1 đã đượ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 đá c1 cũ nào trongpg_wal
Thư mục. kèo bóng đá c1 đ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 đá c1 điểm kiểm tra trên chính vì kèo bóng đá c1 điểm khởi động lại chỉ có thể được thực hiện tại kèo bóng đá c1 bản ghi điểm kiểm tra. Có thể yêu cầu khởi động lại bằng một lịch trình hoặc theo yêu cầu bên ngoài. TherestartPoints_timed
Bộ đếm trongXem đếm số đầu tiên trong khi
restartPoints_Req
Thứ hai. Một điểm khởi động lại được kích hoạt theo lịch trình khi đạt được bản ghi điểm kèo bóng đá c1 nếu ít nhấtCheckPoint_TimeoutSeconds đã vượt qua kể từ lần thực hiện lần cuối được thực hiện hoặc khi lần thử trước khi thực hiện khởi động lại đã thất bại. Trong trường hợp cuối cùng, phần khởi động lại tiếp theo sẽ được lên lịch trong 15 giây. Một điểm khởi động lại được kích hoạt theo yêu cầu do các lý do tương tự như điểm kiểm tra nhưng chủ yếu nếu kích thước kèo bóng đá c1 sắp vượt quáMAX_WAL_SIZETuy nhiên, vì có thể thực hiện giới hạn khi nào có thể thực hiện lại điểm khởi độngMAX_WAL_SIZE
thườ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 đá c1. (MAX_WAL_SIZE
Dù 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.)restartPoints_done
Bộ đếm trongXem đếm kèo bóng đá c1 điểm khởi động lại đã thực sự được thực hiện.
Trong một số trường hợp, khi kích thước kèo bóng đá c1 trên sơ cấp tăng nhanh, ví dụ như trong quá trình chèn lớn,restartPoints_Req
Bộ đếm trên dự phòng có thể chứng minh sự tăng trưởng cao nhất. Điều này xảy ra do kèo bóng đá c1 yêu cầu tạo ra một khởi động lại mới do mức tiêu thụ XLOG tăng không thể được thực hiện vì bản ghi điểm kiểm tra an toàn vì phần khởi động lại cuối cùng chưa được phát lại ở chế độ chờ. Hành vi này là bình thường và không dẫn đến sự gia tăng tiêu thụ tài nguyên hệ thống. ChỉrestartPoints_done
23563_23669
Có hai bên trong thường được sử dụngkèo bóng đá c1chức năng:XLOGINSERTRECORD
vàXLogFlush
. XLOGINSERTRECORD
được sử dụng để đặt kèo bóng đá c1 bản ghi mới vàokèo bóng đá c1Bộ đệm trong bộ nhớ chia sẻ. Nếu không có khoảng trống cho bản ghi mới,XLOGINSERTRECORD
Sẽ phải viết (chuyển sang bộ đệm kernel) kèo bóng đá c1 vài lần được lấp đầykèo bóng đá c1bộ đệ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 đá c1 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 đá c124527_24628kèo bóng đá c1Bộ đệm phải được viết và xả bằng kèo bóng đá c1XLOGFLUSH
Yê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 đá c1 cao,XLOGFLUSH
Yêu cầu có thể không xảy kèo bóng đá c1 thường xuyên để ngăn chặnXLOGINSERTRECORD
Từ việc phải viết. Trên kèo bóng đá c1 hệ thống như vậy, người ta nên tăng số lượngkèo bóng đá c1bộ đệ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_buffers
cao 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 kèo bóng đá c1.
Thecam kết_delay25655_25773XLOGFLUSH
, 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 đá c1 để 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ếufsync26123_26159cam kết_siblingskèo bóng đá c1 phiên khác hiện đang trong kèo bóng đá c1 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_delay
Cà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 đá c1 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_delay
là cho phép chi phí của mỗi hoạt động tuôn ra được khấu hao theo kèo bóng đá c1 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_delay
dự kiến sẽ tăng thông lượng giao dịch, lên đến kèo bóng đá c1 điểm. ThePostgreSQL: kèoChươ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 đá c1 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 kèo bóng đá c1 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 đá c1 đượ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. Giá trị cao hơn củacam kết_siblings
nên được sử dụng trong kèo bóng đá c1 trường hợp như vậy, trong khi nhỏ hơncam kết_siblings
Giá 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à kèo bóng đá c1 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.
Khi28518_28532
28537_28845Hiệu ứng GangwayHồicó xu hướng xảy ra, để kèo bóng đá c1 tác động của cam kết nhóm trở nên đáng kể ngay cả khicam kết_delay
bằng không, và do đó cài đặt rõ ràngcam kết_delay
có xu hướng giúp ít hơn. Cài đặtcam kết_delay
Chỉ có thể giúp khi (1) có kèo bóng đá c1 số giao dịch cam kết đồng thời và (2) thông lượng được giới hạn ở kèo bóng đá c1 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à kèo bóng đá c1 ứng dụng khách cam kết với kèo bóng đá c1 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: kèo bóng đá euroCập nhật cho đĩa. Tất cả kèo bóng đá c1 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 đĩa đệm ngay cả khi kèo bóng đá c1 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 kèo bóng đá c1 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ố kèo bóng đá c1 (được cung cấp đóPostgreSQLđã được biên dịch với hỗ trợ cho nó) sẽ dẫn đến mỗiXLOGINSERTRECORD
vàXLOGFLUSH
kèo bóng đá c130750_30862
Có hai chức năng bên trong để ghi dữ liệu kèo bóng đá c1 vào đĩa:XLogWrite
vàvấn đề_xlog_fsync
. KhiTrack_wal_io_timing31128_31169XLogWrite
Writes vàvấn đề_xlog_fsync
Đồng bộ hóa dữ liệu kèo bóng đá c1 vào đĩa được tính làwal_write_time
và31373_31388
inPG_STAT_WAL, tương ứng.XLogWrite
thườ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 đá c1),XLOGFLUSH
Và người viết kèo bóng đá c1, để viết bộ đệm kèo bóng đá c1 vào đĩa và gọivấn đề_xlog_fsync
. vấn đề_xlog_fsync
thường được gọi bởixlogwrite
Để đồng bộ hóa các tập tin kèo bóng đá c1 với đĩa. Nếu nhưwal_sync_method
làOpen_DataSync
hoặcopen_sync
, Hoạt động ghi trongXLogWrite
Đảm bảo đồng bộ hóa dữ liệu kèo bóng đá c1 viết với đĩa vàvấn đề_xlog_fsync
Không làm gì. Nếu nhưWal_sync_method
làfdatasync
, fsync
hoặcfsync_writethrough
, Hoạt động ghi di chuyển bộ đệm kèo bóng đá c1 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ầnxlogwrite
Writes vàvấn đề_xlog_fsync
Đồng bộ hóa dữ liệu kèo bóng đá c1 vào đĩa cũng được tính làwal_write
vàWal_sync
inpg_stat_wal
, tương ứng.
TheRecovery_Prefetch33100_33275POSTGRESQLnhóm bộ đệm. Thebảo trì_io_concurrencyvàWal_decode_buffer_sizeCài đặt giới hạn trước khi đồng thời 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 đá c1 hệ thống trong đóPOSIX_FADVISE
có sẵn.
34774_35000Mẫu nàyĐể báo cáo vấn đề tài liệu.