Misalkan saya memiliki kotak Windows Server 32 bit yang mengoperasikan beberapa aplikasi server bersama dengan SQL Server, dengan penggunaan RAM sekitar 2 GB pada waktu puncak.
Apa keuntungan meng-upgrade OS Windows Server dan SQL Server ke versi 64 bit yang sesuai, dengan aplikasi server yang tersisa sebagai 32 bit? Versi 64 bit memungkinkan akses ke lebih dari 4 GB RAM, tetapi karena 4 GB tidak digunakan sepenuhnya akankah hal itu membuat upgrade diperdebatkan?
Versi: Windows Server 2008 R2, SQL Server 2008 R2 Datacenter Edition
Terima kasih
sumber
Seperti yang sudah disebutkan, Anda sudah menggunakan OS 64-bit. Ada dua keuntungan beralih ke SQL Server versi 64-bit dan satu kelemahan.
Satu-satunya kelemahan adalah bahwa versi SQL Server 64-bit akan menggunakan pointer 64-bit. Ini berarti pointer akan menempati memori dua kali lebih banyak, mengkonsumsi bandwidth memori dua kali lebih banyak, dan sebagainya. Ini mungkin cukup diabaikan, tetapi ini merupakan kerugian. Ini sebagian dikompensasi oleh fakta bahwa beralih ke aplikasi 64-bit akan memungkinkan Anda untuk membuang overhead lapisan kompatibilitas aplikasi 32-bit harus digunakan untuk mengakses fungsi OS 64-bit.
Keuntungan utama adalah bahwa banyak peningkatan signifikan dibuat dalam set instruksi CPU dari waktu ke waktu. Beberapa dari mereka dibuat bersamaan dengan perubahan ke 64-bit dan beberapa dari mereka dibuat sebelumnya.
Tetapi bahkan untuk yang dibuat sebelumnya, build 32-bit harus menangani CPU yang tidak memiliki fitur-fitur itu dan untuk menghindari kerumitan deteksi dan beralih di antara beberapa instance, hanya saja tidak menggunakannya bahkan di tempat mereka hadir. Misalnya, CPU 64-bit harus memiliki SSE2, tetapi CPU 32-bit mungkin tidak. Jadi sebagian besar kode 32-bit tidak mengganggu memeriksa dan mengasumsikan tidak ada SSE2. Kode 64-bit dijamin instruksi SSE2 hadir dan akan menggunakannya jika itu pilihan terbaik.
Yang terbesar adalah peningkatan jumlah register tujuan umum yang disebutkan dari 8 menjadi 16. Jumlah 128-bit register XMM juga dua kali lipat, dari 8 menjadi 16.
Selain itu, proses 64-bit dapat menggunakan sejumlah besar memori virtual. Ini sangat penting dengan proses yang mengakses sejumlah besar data terstruktur pada disk. Dan, tentu saja, mereka dapat menggunakan operasi integer 64-bit yang cenderung meningkatkan kinerja enkripsi, kompresi, dan bahkan beberapa operasi sistem file pada sistem file besar.
sumber
/arch:SSE2
opsi untuk kode 32-bit, setara dengan gcc / clang / ICC-msse2
. Saya kira SQL tidak memiliki banyak loop vektor SIMD, tetapi menyalin struct kecil dengan 16-byte SIMD load / store bagus.__fastcall
untuk melewatkan args dalam register untuk banyak fungsi. Konvensi panggilan 32-bit Linux murni pada stack, jadi itu sangat buruk untuk fungsi kecil yang tidak sejajar.Secara fundamental: Ya. Dengan asumsi Anda tidak pernah membuat pembaruan yang kemudian hanya 4 bit - tidak yakin bahkan ada 32 bit SQL Server lebih baru dari 2008.
Masalah dengan pertanyaan Anda: "Versi 64 bit memungkinkan akses ke lebih dari 4 GB RAM," - jadikan itu 3gb;) bukan 4. 1gb selalu dicadangkan.
sumber
Masalah potensial: Perpustakaan DLL dari fungsi yang ditentukan pengguna CLR (UDFs) akan membutuhkan versi 64-bit mereka.
Jika Anda menggunakan pustaka dari CLR Function-Defined Functions , itu akan menjadi sedikit tidak kompatibel. DLL 32-bit tidak dapat secara umum digunakan dalam perangkat lunak 64-bit dan sebaliknya. Jika Anda tidak bisa mendapatkan versi 64-bit dari beberapa pustaka UDF yang Anda gunakan, Anda akan kehilangan ekstensi spesifik itu.
Pada dasarnya ini adalah masalah yang sama dengan memutakhirkan perangkat lunak 32-bit dengan add-on-nya ke versi 64-bit. Anda juga perlu mengalihkan semua add-on ke versi 64-bit mereka. Secara umum itu mudah, tetapi masalahnya adalah penghentian yang tidak ada penggantian.
sumber
Performa!
Ada beberapa jawaban teknis di sini, tetapi tanpa terlalu teknis, dan tergantung pada aplikasi Anda, Anda akan melihat peningkatan kinerja.
Potongan utama adalah:
https://teratrax.com/sql-server-64-bit/
Hasil paling dramatis yang saya lihat dari SQL Server 32-bit ke 64-bit (ini adalah SQL Server 2005) adalah peningkatan kecepatan 40% pada aplikasi utama klien. Yang kami lakukan hanyalah menginstal SQL Server 64-bit, yang lainnya sama! Itu adalah peningkatan kinerja utama di dunia nyata.
sumber
Anda dapat memiliki kinerja multitasking yang lebih baik terutama dengan program yang memiliki multithreading berat. Selain itu, Anda dapat menginstal lebih banyak ram dengan os 64-bit. Tetapi lakukan ini hanya jika prosesor mendukung instruksi 64-bit.
sumber