Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kapan saya bisa meng-host IIS dan SQL Server di mesin yang sama?

Tidak bijaksana menjalankan SQL Server dengan apa saja produk lain, termasuk contoh lain dari SQL Server. Alasan untuk rekomendasi ini adalah sifat dari bagaimana SQL Server menggunakan sumber daya OS. SQL Server berjalan pada manajemen memori mode pengguna dan infrastruktur penjadwalan prosesor yang disebut SQLOS . SQL Server dirancang untuk berjalan pada kinerja puncak dan menganggap itu adalah satu-satunya server di OS. Dengan demikian SQL OS mencadangkan semua RAM pada mesin untuk proses SQL dan membuat penjadwal untuk setiap inti CPU dan mengalokasikan tugas untuk semua penjadwal untuk dijalankan, memanfaatkan semua CPU yang dapat diperolehnya, saat dibutuhkan. Karena SQL menyimpan semua memori, proses lain yang membutuhkan memori akan menyebabkan SQL melihat tekanan memori , dan respons terhadap tekanan memori akan mengeluarkan halaman dari kumpulan buffer dan menyusun rencana dari cache rencana. Dan karena SQL adalah satu-satunya server yang benar-benar memanfaatkan memori pemberitahuan API (ada desas-desus bahwa Exchange berikutnya juga akan melakukannya), SQL adalah satu-satunya proses yang benar-benar menyusut untuk memberi ruang bagi proses lain (seperti kumpulan ASP kereta yang bocor). Perilaku ini juga dijelaskan dalam BOL:Manajemen Memori Dinamis .

Pola serupa terjadi dengan penjadwalan CPU di mana proses lain mencuri waktu CPU dari penjadwal SQL. Pada sistem kelas atas dan mesin Opteron, keadaan menjadi lebih buruk karena SQL menggunakan NUMA lokalitas untuk keuntungan penuh, tetapi tidak ada proses lain yang biasanya tidak menyadari NUMA dan, sebanyak OS dapat mencoba untuk mempertahankan lokalitas alokasi, mereka akhirnya mengalokasikan seluruh RAM fisik dan mengurangi throughput keseluruhan sistem sebagai CPU sedang menunggu untuk akses halaman batas lintas-numa. Ada hal lain yang perlu dipertimbangkan juga seperti TLB dan L2 miss meningkat karena proses lain menggunakan siklus CPU.

Jadi kesimpulannya, Anda bisa menjalankan server lain dengan SQL Server, tetapi tidak disarankan. Jika Anda harus , lalu pastikan Anda mengisolasi kedua server dengan kemampuan terbaik Anda. Gunakan topeng afinitas CPU untuk keduanya SQL dan IIS/ASP untuk mengisolasi keduanya pada inti yang terpisah, mengonfigurasi SQL untuk mencadangkan lebih sedikit RAM sehingga menyisakan memori kosong untuk IIS/ASP, mengonfigurasi kumpulan aplikasi Anda untuk mendaur ulang secara agresif untuk mencegah pertumbuhan kumpulan aplikasi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara tercepat untuk menyisipkan banyak data secara massal di SQL Server (klien C#)

  2. SQL Server 2008 pemisah ribuan untuk kolom

  3. Cara Menggunakan Operator ANTARA di SQL Server

  4. Bagaimana saya bisa menentukan di SQL Server jika rentang dateTime tumpang tindih dengan yang lain?

  5. sp_executesql lambat dengan parameter