PostgreSQL: kèo chấp bóng đá hôm nay liệu: | |||
---|---|---|---|
prev | UP | Chương 18. Cấu hình máy chủ | Tiếp theo |
Để biết thêm thông tin về điều chỉnh các cài đặt kèo bóng đá euro, xemPhần 29.4.
Wal_LevelXác định số lượng thông tin được ghi vào WAL. Giá trị mặc định làtối thiểu, chỉ ghi thông tin cần thiết để phục hồi sau vụ tai nạn hoặc tắt máy ngay lập tức.Lưu trữThêm ghi nhật ký cần thiết để lưu trữ Wal;hot_standbyThêm thông tin cần thiết để chạy kèo bóng đá euro truy vấn chỉ đọc trên máy chủ dự phòng; và, cuối cùnglogicThêm thông tin cần thiết để hỗ trợ giải mã logic. Mỗi cấp độ bao gồm thông tin được ghi ở tất cả các cấp thấp hơn. Tham số kèo bóng đá euro chỉ có thể được đặt ở máy chủ bắt đầu.
intối thiểuLevel, Wal-Logging của một số hoạt động hàng loạt có thể được bỏ qua một cách an toàn, điều kèo bóng đá euro có thể làm cho các hoạt động đó nhanh hơn nhiều (xemPhần 14.4.7). Các hoạt động trong đó tối ưu hóa kèo bóng đá euro có thể được áp dụng bao gồm:
Tạo bảng dưới dạng |
Tạo chỉ mục |
cụm |
Copythành kèo bóng đá euro bảng được tạo hoặc cắt trong cùng một giao dịch |
inhot_standbyCấp độ, thông tin tương tự được ghi lại như vớiLưu trữ, cộng với thông tin cần thiết để xây dựng lại trạng thái của kèo bóng đá euro giao dịch đang chạy từ WAL. Để bật kèo bóng đá euro truy vấn chỉ đọc trên máy chủ dự phòng,Wal_Levelphải được đặt thànhhot_standbyhoặc cao hơn trên chính vàhot_standbyphải được bật trong chế độ chờ. Người ta cho rằng có rất ít sự khác biệt có thể đo lường được về hiệu suất giữa việc sử dụnghot_standbyvàLưu trữcấp độ, vì vậy phản hồi được hoan nghênh nếu có bất kỳ tác động sản xuất nào được chú ý.
inlogicCấp độ, thông tin tương tự được ghi lại như vớihot_standby, cộng với thông tin cần thiết để cho phép trích xuất kèo bóng đá euro thay đổi logic từ WAL. Sử dụng một cấp độlogicsẽ tăng âm lượng Wal, đặc biệt nếu nhiều bảng được cấu hình choBản sao nhận dạng đầy đủvà nhiềuCập nhậtvàXóaCâu lệnh được thực thi.
Nếu tham số kèo bóng đá euro được bật,PostgreSQLMáy chủ sẽ cố gắng đảm bảo rằng kèo bóng đá euro bản cập nhật được ghi vào đĩa, bằng cách phát hànhfsync ()
kèo bóng đá euro cuộc gọi hệ thống hoặc kèo bóng đá euro phương thức tương đương khác nhau (xemWal_sync_method). Điều này đảm bảo rằng cụm cơ sở dữ kèo bóng đá euro có thể phục hồi về trạng thái nhất quán sau khi hệ điều hành hoặc sự cố phần cứng.
Trong khi tắtfsyncthường là một lợi ích hiệu suất, điều này có thể dẫn đến tham nhũng dữ kèo bóng đá euro không thể phục hồi trong trường hợp bị lỗi điện hoặc sự cố hệ thống. Do đó chỉ nên tắtfsyncNếu bạn có thể dễ dàng tạo lại toàn bộ cơ sở dữ kèo bóng đá euro của mình từ dữ kèo bóng đá euro bên ngoài.
Ví dụ về hoàn cảnh an toàn để tắtfsyncBao gồm việc tải ban đầu của cụm cơ sở dữ kèo bóng đá euro mới từ tệp sao lưu, sử dụng cụm cơ sở dữ kèo bóng đá euro để xử lý một loạt dữ kèo bóng đá euro sau đó cơ sở dữ kèo bóng đá euro sẽ được vứt bỏ và tạo lại, hoặc cho một bản sao cơ sở dữ kèo bóng đá euro chỉ đọc được tái tạo thường xuyên và không được sử dụng cho flack. Phần cứng chất lượng cao không phải là một lời biện minh đầy đủ để tắtfsync.
Để phục hồi đáng tin cậy khi thay đổifsyncTẮT TẮT, cần phải buộc tất cả các bộ đệm được sửa đổi trong hạt nhân để lưu trữ bền. Điều kèo bóng đá euro có thể được thực hiện trong khi cụm bị tắt hoặc trong khi fsync đang hoạt động bằng cách chạyinitDB-sync chỉ, ChạySync, Nhập hệ thống tệp hoặc khởi động lại máy chủ.
Trong nhiều tình huống, tắtsynchronous_commitĐối với kèo bóng đá euro giao dịch phi chủ yếu có thể cung cấp nhiều lợi ích hiệu suất tiềm năng của việc tắtfsync, mà không có rủi ro tham nhũng dữ kèo bóng đá euro.
fsyncChỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Nếu bạn tắt tham số kèo bóng đá euro, cũng xem xét tắtfull_page_writes.
15497_15613"Thành công"chỉ định cho khách hàng. Giá trị hợp lệ làtrên, remote_write, cục bộvàTẮT. Cài đặt mặc định và an toàn làtrên. KhiTẮT, Có thể có sự chậm trễ giữa khi thành công được báo cáo cho khách hàng và khi giao dịch thực sự được đảm bảo sẽ an toàn kèo bóng đá euro sự cố máy chủ. (Độ trễ tối đa là ba lầnwal_writer_delay.) Không giống nhưfsync, Đặt tham số kèo bóng đá euro thànhTẮTKhông tạo ra bất kỳ rủi ro nào về sự không nhất quán của cơ sở dữ kèo bóng đá euro: một hệ điều hành hoặc sự cố cơ sở dữ kèo bóng đá euro có thể dẫn đến một số giao dịch bị cáo buộc gần đây bị mất, nhưng trạng thái cơ sở dữ kèo bóng đá euro sẽ giống như khi các giao dịch đó đã bị hủy bỏ. Vì vậy, biếnsynchronous_commitTắt có thể là một sự thay thế hữu ích khi hiệu suất quan trọng hơn sự chắc chắn chính xác về độ bền của một giao dịch. Để thảo luận thêm, xemPhần 29.3.
nếusynchronous_standby_namesđược đặt, tham số kèo bóng đá euro cũng kiểm soát xem các cam kết giao dịch có chờ đợi các bản ghi Wal của giao dịch được sao chép vào máy chủ dự phòng hay không. Khi được đặt thànhtrên, cam kết sẽ đợi cho đến khi trả lời từ chế độ chờ đồng bộ hiện tại cho biết họ đã nhận được hồ sơ cam kết của giao dịch và chuyển nó vào đĩa. Điều này đảm bảo giao dịch sẽ không bị mất trừ khi cả chính và dự phòng đều bị tham nhũng lưu trữ cơ sở dữ kèo bóng đá euro của họ. Khi được đặt thànhremote_write, cam kết sẽ đợi cho đến khi trả lời từ chế độ chờ đồng bộ hiện tại cho biết họ đã nhận được hồ sơ cam kết của giao dịch và kèo bóng đá euro nó vào hệ điều hành của dự phòng, nhưng dữ liệu không nhất thiết phải đạt được lưu trữ ổn định ở chế độ chờ. Cài đặt này đủ để đảm bảo bảo quản dữ liệu ngay cả khi phiên bản chờ củaPostgreSQLđã bị sập, nhưng không phải nếu chế độ chờ chịu sự cố ở cấp độ hệ điều hành.
Khi sử dụng sao chép đồng bộ, thông thường sẽ có thể chờ đợi cả hai lần xả cục bộ và sao chép kèo bóng đá euro bản ghi Wal hoặc cho phép giao dịch không đồng bộ. Tuy nhiên, cài đặtcục bộCó sẵn cho kèo bóng đá euro giao dịch muốn chờ đĩa cục bộ vào đĩa, nhưng không sao chép đồng bộ. Nếu nhưsynchronous_standby_nameskhông được đặt, cài đặttrên, remote_writevàcục bộ18468_18569
Tham số kèo bóng đá euro có thể được thay đổi bất cứ lúc nào; Hành vi cho bất kỳ một giao dịch nào được xác định bởi cài đặt có hiệu lực khi thực hiện. Do đó, có thể, và hữu ích, để có một số giao dịch cam kết đồng bộ và những giao dịch khác không đồng bộ. Ví dụ: để thực hiện một giao dịch đa dạng duy nhất cam kết không đồng bộ khi mặc định ngược lại, vấn đềĐặt Synchronous_Commit cục bộ thành TẮTTrong giao dịch.
Phương pháp được sử dụng để buộc Wal cập nhật ra đĩa. Nếu nhưfsyncTẮT thì cài đặt kèo bóng đá euro không liên quan, vì các bản cập nhật tệp WAL sẽ không bị loại bỏ. Các giá trị có thể là:
open_datasync(kèo bóng đá euro các tệp WAL bằngOpen ()
Tùy chọnO_DSYNC)
fdatasync(gọifdatasync ()
tại mỗi cam kết)
fsync(gọifsync ()
tại mỗi cam kết)
fsync_writethrough(gọifsync ()
Tại mỗi cam kết, buộc ghi qua bất kỳ bộ đệm ghi đĩa nào)
open_sync(kèo bóng đá euro các tệp WAL bằngOpen ()
Tùy chọnO_Sync)
TheOpen_* Tùy chọn cũng sử dụngO_DirectNếu có. Không phải tất cả các lựa chọn kèo bóng đá euro đều có sẵn trên tất cả các nền tảng. Mặc định là phương thức đầu tiên trong danh sách trên được hỗ trợ bởi nền tảng, ngoại trừfdatasynclà mặc định trên Linux. Mặc định không nhất thiết là lý tưởng; Có thể cần phải thay đổi cài đặt kèo bóng đá euro hoặc các khía cạnh khác của cấu hình hệ thống của bạn để tạo cấu hình an toàn sự cố hoặc đạt được hiệu suất tối ưu. Những khía cạnh kèo bóng đá euro được thảo luận trongPhần 29.1. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
Khi tham số kèo bóng đá euro được bật,PostgreSQLMáy chủ ghi toàn bộ nội dung của mỗi trang đĩa vào Wal trong lần sửa đổi đầu tiên của trang đó sau khi điểm kiểm tra. Điều này là cần thiết bởi vì một trang ghi trang đang trong quá trình xử lý hệ điều hành có thể chỉ hoàn thành một phần, dẫn đến một trang trên đĩa chứa hỗn hợp dữ kèo bóng đá euro cũ và mới. Dữ kèo bóng đá euro thay đổi cấp độ hàng thường được lưu trữ trong WAL sẽ không đủ để khôi phục hoàn toàn một trang như vậy trong quá trình phục hồi sau crash. Lưu trữ hình ảnh toàn trang đảm bảo rằng trang có thể được khôi phục chính xác, nhưng với giá tăng lượng dữ kèo bóng đá euro phải được ghi vào WAL. .
Tắt tham số này Tắt tốc độ hoạt động bình thường, nhưng có thể dẫn đến tham nhũng dữ kèo bóng đá euro không thể phục hồi hoặc tham nhũng dữ kèo bóng đá euro im lặng, sau khi bị lỗi hệ thống. Rủi ro tương tự như tắtfsync, mặc dù nhỏ hơn và nó chỉ nên tắt dựa trên cùng một trường hợp được đề xuất cho tham số đó.
Tắt tham số kèo bóng đá euro không ảnh hưởng đến việc sử dụng lưu trữ Wal để phục hồi thời gian (PIRT) (xemPhần 24.3).
Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Mặc định làtrên.
Khi tham số kèo bóng đá euro làtrên, ThePostgreSQL22837_23020
Nếu kiểm tra dữ kèo bóng đá euro được bật, các bản cập nhật bit gợi ý luôn được ghi lại và cài đặt này bị bỏ qua. Bạn có thể sử dụng cài đặt này để kiểm tra xem thêm bao nhiêu Wal-Logging nếu cơ sở dữ kèo bóng đá euro của bạn đã bật tổng kiểm tra dữ kèo bóng đá euro.
Tham số kèo bóng đá euro chỉ có thể được đặt ở máy chủ bắt đầu. Giá trị mặc định làTẮT.
Số lượng bộ nhớ chung được sử dụng cho dữ kèo bóng đá euro WAL chưa được ghi vào đĩa. Cài đặt mặc định của -1 chọn một kích thước bằng 1/32 (khoảng 3%) củaShared_buffers, nhưng không ít hơn64kbcũng không nhiều hơn kích thước của một phân đoạn Wal, thường là16MB. Giá trị kèo bóng đá euro có thể được đặt thủ công nếu lựa chọn tự động quá lớn hoặc quá nhỏ, nhưng bất kỳ giá trị dương nào cũng nhỏ hơn32kbsẽ được coi là32kb. Tham số kèo bóng đá euro chỉ có thể được đặt ở máy chủ bắt đầu.
Nội dung của bộ đệm Wal được kèo bóng đá euro ra đĩa ở mỗi cam kết giao dịch, do đó, các giá trị cực kỳ lớn khó có thể cung cấp một lợi ích đáng kể. Tuy nhiên, đặt giá trị này thành ít nhất một vài megabyte có thể cải thiện hiệu suất ghi trên một máy chủ bận rộn, nơi nhiều máy khách đang cam kết cùng một lúc. Bản tự động được chọn bởi cài đặt mặc định của -1 sẽ cho kết quả hợp lý trong hầu hết các trường hợp.
Chỉ định độ trễ giữa các vòng hoạt động cho người kèo bóng đá euro Wal. Trong mỗi vòng, người kèo bóng đá euro sẽ Flush Wal đến đĩa. Nó sau đó ngủ chowal_writer_delaymili giây và lặp lại. Giá trị mặc định là 200 mili giây (200MS). Lưu ý rằng trên nhiều hệ thống, độ phân giải độ trễ của giấc ngủ hiệu quả là 10 mili giây; cài đặtwal_writer_delayvới giá trị không phải là bội số của 10 có thể có kết quả giống như đặt nó thành bội số cao hơn tiếp theo của 10. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
cam kết_delayThêm độ trễ thời gian, được đo bằng micro giây, kèo bóng đá euro khi bắt đầu xả WAL. Điều này có thể cải thiện thông lượng cam kết nhóm bằng cách cho phép số lượng giao dịch lớn hơn thực hiện thông qua một lần xả WAL duy nhất, nếu tải hệ thống đủ cao để các giao dịch bổ sung sẵn sàng thực hiện trong khoảng thời gian đã cho. Tuy nhiên, nó cũng tăng độ trễ lên tớicam kết_delaymicro giây cho mỗi lần tuôn ra. Bởi vì độ trễ chỉ bị lãng phí nếu không có giao dịch nào khác sẵn sàng cam kết, nên sự chậm trễ chỉ được thực hiện nếu ít nhấtcam kết_siblingskèo bóng đá euro giao dịch khác đang hoạt động khi một lần xả sắp được bắt đầu. Ngoài ra, không có sự chậm trễ nào được thực hiện nếufsyncbị vô hiệu hóa. Mặc địnhcam kết_delaybằng không (không chậm trễ). Chỉ các siêu người dùng mới có thể thay đổi cài đặt kèo bóng đá euro.
inPostgreSQLphát hành kèo bóng đá euro 9.3,cam kết_delayhành xử khác nhau và kém hiệu quả hơn nhiều: nó chỉ ảnh hưởng đến kèo bóng đá euro cam kết, thay vì tất cả kèo bóng đá euro wal flushes, và chờ đợi toàn bộ độ trễ được cấu hình ngay cả khi Flush WAL được hoàn thành sớm hơn. Bắt đầu trongPostgreSQL9.3, quá trình đầu tiên sẵn sàng chờ đợi khoảng thời gian được định cấu hình, trong khi kèo bóng đá euro quy trình tiếp theo chỉ đợi cho đến khi người lãnh đạo hoàn thành thao tác tuôn ra.
Số lượng giao dịch mở đồng thời tối thiểu để yêu cầu kèo bóng đá euro khi thực hiệncam kết_delayTrì hoãn. Một giá trị lớn hơn làm cho có nhiều khả năng rằng ít nhất một giao dịch khác sẽ sẵn sàng cam kết trong khoảng thời gian trễ. Mặc định là năm giao dịch.
Số lượng phân đoạn tệp nhật ký tối đa giữa các điểm kiểm tra WAL tự động (mỗi phân đoạn thường là 16 megabyte). Mặc định là ba phân đoạn. Tăng tham số kèo bóng đá euro có thể tăng lượng thời gian cần thiết để phục hồi sự cố. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
Thời gian tối đa giữa kèo bóng đá euro điểm kiểm tra WAL tự động, tính bằng giây. Mặc định là năm phút (5min). Tăng tham số kèo bóng đá euro có thể tăng lượng thời gian cần thiết để phục hồi sự cố. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
Chỉ định mục tiêu hoàn thành điểm kiểm tra, là một phần tổng thời gian giữa các điểm kiểm tra. Mặc định là 0,5. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
kèo bóng đá euro tin nhắn vào nhật ký máy chủ nếu các điểm kiểm tra gây ra bởi việc điền các tệp phân đoạn điểm kiểm tra xảy ra gần nhau hơn nhiều giây này (điều này cho thấyCheckPoint_Segmentsnên được nâng lên). Mặc định là 30 giây (30S). Zero vô hiệu hóa cảnh báo. Không có cảnh báo nào sẽ được tạo nếuCheckPoint_Timeoutnhỏ hơnCheckpoint_warning. Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.
KhiArchive_Modeđược bật, kèo bóng đá euro phân đoạn WAL đã hoàn thành được gửi đến lưu trữ lưu trữ bằng cách cài đặtArchive_Command. archive_modevàArchive_Commandlà kèo bóng đá euro biến riêng biệt đểArchive_CommandCó thể thay đổi mà không cần rời khỏi chế độ lưu trữ. Tham số kèo bóng đá euro chỉ có thể được đặt ở máy chủ bắt đầu.Archive_ModeKhông thể bật khiWal_Levelđược đặt thànhtối thiểu.
Lệnh Shell cục bộ để thực thi để lưu trữ một phân đoạn tệp WAL đã hoàn thành. Bất kì%PTrong chuỗi được thay thế bằng tên đường dẫn của tệp để lưu trữ và bất kỳ nào%Fchỉ được thay thế bằng tên tệp. (Tên đường dẫn liên quan đến thư mục làm việc của máy chủ, tức là, thư mục dữ kèo bóng đá euro của cụm.) Sử dụng%%Để nhúng một thực tế%ký tự trong lệnh. Điều quan trọng là lệnh chỉ trả lại trạng thái thoát bằng không nếu nó thành công. Để biết thêm thông tin, xemPhần 24.3.1.
Tham số kèo bóng đá euro chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ. Nó bị bỏ qua trừ khiArchive_Modeđã được bật khi bắt đầu máy chủ. Nếu nhưArchive_Commandlà một chuỗi trống (mặc định) trong khiArchive_Modeđược bật, WAL lưu trữ tạm thời bị vô hiệu hóa, nhưng máy chủ tiếp tục tích lũy kèo bóng đá euro tệp phân đoạn Wal theo kỳ vọng rằng lệnh sẽ sớm được cung cấp. Cài đặtArchive_Commandcho một lệnh không làm gì ngoài việc trả về true, ví dụ:/bin/true(REM32083_32250
TheArchive_Commandchỉ được gọi cho các phân đoạn Wal đã hoàn thành. Do đó, nếu máy chủ của bạn tạo ra ít lưu lượng WAL (hoặc có các khoảng thời gian chậm chạp khi nó làm như vậy), có thể có một sự chậm trễ lâu giữa việc hoàn thành giao dịch và ghi lại an toàn trong lưu trữ lưu trữ. Để hạn chế dữ kèo bóng đá euro chưa được xử lý cũ có thể, bạn có thể đặtArchive_TimeoutĐể buộc máy chủ chuyển sang tệp phân đoạn Wal mới định kỳ. Khi tham số này lớn hơn 0, máy chủ sẽ chuyển sang tệp phân đoạn mới bất cứ khi nào nhiều giây này đã trôi qua kể từ khi chuyển đổi tệp phân đoạn cuối cùng và đã có bất kỳ hoạt động cơ sở dữ kèo bóng đá euro nào, bao gồm một điểm kiểm tra duy nhất. (Tăng dầnCheckpoint_timeoutsẽ giảm kèo bóng đá euro điểm kiểm tra không cần thiết trên một hệ thống nhàn rỗi.) Lưu ý rằng kèo bóng đá euro tệp được lưu trữ được đóng sớm do công tắc bắt buộc vẫn có độ dài tương đương với kèo bóng đá euro tệp hoàn toàn đầy đủ. Do đó, không khôn ngoan khi sử dụng rất ngắnArchive_Timeout- Nó sẽ làm mờ lưu trữ lưu trữ của bạn.Archive_TimeoutCài đặt một phút hoặc lâu hơn thường là hợp lý. Bạn nên xem xét sử dụng sao chép phát trực tuyến, thay vì lưu trữ, nếu bạn muốn dữ kèo bóng đá euro được sao chép khỏi máy chủ chính nhanh hơn thế. Tham số này chỉ có thể được đặt trongPostgreSql.confTệp hoặc trên dòng lệnh máy chủ.