Saya telah menjalankan PostgreSQL di Windows Server 2003 tanpa hambatan dan cepat, jadi untuk menjawab pertanyaan saya sendiri sepertinya baik-baik saja.
Namun saya akan meluncurkan proyek baru dan saya mempertimbangkan menggunakan kotak Linux sebagai gantinya stabilitas dan kinerja sangat penting. Karena PostgreSQL sebagian besar tampaknya dikembangkan pada distribusi Linux, mungkin lebih baik tetap menggunakan Linux?
Jawaban:
PostgreSQL pasti akan berjalan lebih cepat di Linux daripada di Windows (dan saya katakan ini sebagai salah satu orang yang menulis port windows itu ..) Ini dirancang untuk arsitektur gaya Unix, dan mengimplementasikan arsitektur yang sama ini di Windows, yang berarti melakukan beberapa hal yang Windows tidak dirancang untuk melakukannya dengan baik. Ini berfungsi dengan baik, tetapi tidak berkinerja baik.
Sebagai contoh, PostgreSQL menggunakan model proses-per-koneksi, bukan threading. Windows dirancang untuk melakukan threading. Jika aplikasi Anda melakukan banyak koneksi dan terputus, itu pasti akan berjalan secara signifikan lebih lambat pada Windows, misalnya.
Ada juga beberapa asumsi di sekitar sistem file yang tidak persis mendukung NTFS.
Satu hal yang benar-benar perlu Anda pikirkan - jika Anda menggunakan Windows, sebagian besar produk antivirus akan keluar ketika digunakan dengan PostgreSQL, karena mereka tidak terbiasa dengan jenis beban kerja ini (seperti 1000 proses berbeda membaca dan menulis ke file yang sama melalui berbagai pegangan). Itu berarti bahwa rekomendasi kuat adalah untuk selalu menghapus antivirus apa pun jika mungkin (hanya menonaktifkannya atau mengecualikan proses / file PostgreSQL seringkali tidak cukup). Dan ini bukan hanya karena alasan kinerja, tetapi juga stabilitas di bawah beban.
sumber
Ini sulit untuk dijawab: Seperti yang dicatat Ken, Postgres tidak membuat perbedaan antara OS dan itu stabil / tidak stabil di Windows seperti di Linux.
Satu-satunya jawaban nyata untuk pertanyaan ini adalah: coba saja.
Siapkan server Linux dan server Windows dengan spesifikasi yang sama, gunakan jumlah data yang sama di kedua mesin dan jalankan pengujian Anda.
PS: Ini memiliki suara yang dekat karena mungkin lebih baik ditanyakan di serverfault
sumber
Ini adalah pemahaman saya bahwa, untuk perangkat keras yang sama, Anda akan mendapatkan kinerja yang lebih baik di Linux dibandingkan dengan Windows. Juga, sementara Postgres berjalan di windows, Postgres sudah berjalan di * nix lebih lama, lebih lama. YMMV tentu saja tergantung situasi Anda.
Referensi yang benar-benar bagus tentang kinerja Postgres adalah "PostgreSQL 9.0 High Performance" ( https://www.packtpub.com/postgresql-9-0-high-performance/book ). Judulnya sedikit keliru karena mencakup lebih dari sekedar versi 9.0.
sumber
AFAIK Postgres tidak membeda-bedakan, mereka tidak melumpuhkan fitur pada Windows, atau semacamnya. Jadi tidak ada tentang Postgres yang membutuhkan Linux.
Anda mungkin lebih baik bertanya secara umum tentang Linux. vs. Windows sebagai platform server umum.
PENDAPAT: Tapi demi uang saya, server selalu menjalankan Linux. Tidak akan pernah bermimpi menempatkan perangkat lunak server mission-critical pada Windows. Hanya 2 sen saya. Opini Akhir.
sumber
stability and **performance** are crucial