Postfix Overview - Queue Management


Up one level | Introduction | Goals and features | Global architecture | Queue Management | Security

Postfix mail queues

Postfix memiliki empat antrian utama: maildrop, incoming, active dan deferred (klik icon sebelah kiri atas untuk gambar yang lebih jelas). Mail yang diposting secara local disimpan ke dalam maildrop, dan disalin ke dalam antrian incoming setelah dilakukan sedikit perampingan/pembersihan. Antrian incoming adalah untuk mail yang berdatangan atau yang belum dilihat oleh queue manager. Antrian active adalah sebuah antrian yang memiliki ukuran/batas tertentu untuk mail yang telah dibuka oleh queue manager untuk segera diantarkan/disampaikan. Email yang tidak bisa dikirim dimasukkan ke dalam antrian deferred, sehingga tidak akan dikirim ulang lagi.

Queue manager hanya menyimpan informasi antrian active di dalam memori. Ukuran antrian active dibatasi sesuai dengan kebutuhan/tujuan: queue manager harusnya tidak akan kehabisan memory yang disebabkan oleh beban message yang mencapai puncaknya. Begitu ada ruang kosong di dalam antrian active queue,, queue manager akan memasukan sebuah message dari antrian incoming dan satu lagi dari antrian deferred. Hal ini menjamin bahwa mail baru dapat tetap lewat walaupun ada backlog yang besar.

Sebagai tambahan pada antrian-antrian di atas Postfix juga mengatur dua ruang parking. Antrian hold, yaitu digunakan untuk mail yang dibekukan dalam antrian; tidak akan ada usaha pengantaran mail tersebut sampai seseorang membebaskan message tersebut dengan perintah postsuper. Direktori corrupt digunakan untuk file antrian yang rusak. Daripada membuangnya, Postfix meletakkannya di sini untuk diperiksa oleh seseorang.

No thundering herd

Menjalankan sebuah mail system berperforma tinggi adalah hal yang utama. Tidak ada seorang pun yang senang bila ada Postfix yang terhubung ke site mereka dan memenuhinya dengan pengiriman yang berlebihan. Hal ini menjadi pokok permasalahan terutama bila sebuah site down dan mail diback-up di lain tempat dalam jaringan.

Postfix berusaha ramah terhadap lingkungan jaringan. Saat menyampaikan mail ke sebuah site, Postfix pertama-tama tidak akan membuat koneksi lebih dari dua koneksi yang bersamaan. Selama penyampaian berhasil, concurrency (delivery mail secara bersama-sama) secara perlahan ditingkatkan sampai dengan limit yang telah dikonfigurasikan (atau sampai host tidak dapat mengangani beban kerjanya); concurrency diturunkan jika mengalami masalah. Bagi yang sudah biasa dengan detail penggunaan TCP/IP, Postfix menggunakan analog algoritma TCP slow start-nya sendiri.

Fairness

Terpisah dari pengendalian thundering herd (badai data), strategi delivery/penyampaian didasarkan pada seleksi secara round-robin (gonta-ganti). Queue manager memilah penerima pesan berdasar tujuan di dalam active queue.

Pada keadaan biasa, Postfix akan melakukan delivery/penyampaian secara serentak hanya pada domain yang sama, jika kinerja tidak mencukupi untuk membuat semua outbound channel SMTP bekerja terus. Jadi, misal AOL untuk sementara offline dan kemudah kembali lagi, diharapkan tidak menghentikan pengiriman oleh system ke site-site lain.

Jika mail sampai lebih cepat daripada yang disampaikan, maka Postfix akan menangani mail baru pada mail yang ditangguhkan. Idenya, mail baru seharusnya disampaikan dengan penundaan yang sesedikit mungkin; mail yang tertunda dapat di sampaikan pada saat sistem sedang idle.

Exponential backoff

Postfix menggunakan exponential backoff (pemunduran dengan perkiraan) per pesan. Saat sebuah pesan tidak dapat di sampaikan pada percobaan pertama, queue manager memberikan sebuah time stamp untuk dijadikan offset waktu ke depan sesuai dengan konfigurasi. File antrian dengan time stamp waktu ke depan biasanya diabaikan oleh queue manager.

Pada saat usaha penyampaian ulang gagal, time stamp file antrian diubah ke waktu yang akan datang yang disesuaikan dengan umur pesan. Sehingga, waktu antara usaha penyampaian dilipatkan setiap kali. Strategi exponential backoff ini bekerja secara efektif.

Destination status cache

Queue manager Postfix mengatur daftar unreachable destination (tujuan yang tidak dapat dicapai) yang dibatasi dan bersifat sementara. Daftar ini membantu untuk menghindari usaha penyampaian yang tidak penting, terutama yang mempunyai alamat tujuan yang tidak bisa disampaikan.
Up one level | Introduction | Goals and features | Global architecture | Queue Management | Security