Perintah PowerShell untuk memeriksa dan memverifikasi praktik terbaik pengoperasian IIS/kumpulan aplikasi/ASP.NET
Dalam upaya perbaikan apa pun, langkah pertama yang direkomendasikan adalah mengeksplorasi dan menjawab di mana posisi kita saat ini (untuk mengeksplorasi dan menganalisis kondisi kita saat ini) serta di mana kita ingin berada, meskipun setiap praktik terbaik dapat dikonfirmasi dan diterapkan secara manual. , proyek ini telah dimulai pada lingkup pertama untuk membantu selama penemuan. Sebagai keluaran pertama, kita akan memiliki dua file CSV, yang di dalamnya kita akan memiliki item tindakan yang direkomendasikan untuk dibahas dan informasi umum tentang sistem saat ini.
Perintah ini menjalankan operasi sistem hanya baca, tidak ada tindakan modifikasi yang terlibat, satu-satunya pengecualian adalah dua file csv yang dibuat hanya untuk memuat hasil akhir.
Waktu daur ulang default adalah 1740 menit, kemudian, daur ulang kumpulan aplikasi akan terjadi selama jam kerja pada suatu saat, hal ini dapat menyebabkan penurunan kinerja dan sesi pengguna selesai, (masalah sesi pengguna selesai dapat diatasi jika ASP.NET mempertahankan status sesinya out-proc, misalnya di SqlServer), nilai yang disarankan untuk waktu reguler daur ulang adalah 0 (disetel ke nol, artinya daur ulang tidak akan terjadi karena waktu yang telah berlalu), selain menentukan Waktu Tertentu, misalnya pada 03.00
Batas waktu idle daur ulang default adalah 20 menit, ini berarti IIS akan secara otomatis mematikan proses pekerja setelah 20 menit tidak aktif, kemudian ketika permintaan baru masuk ke aplikasi, proses aktivasi penuh dimulai lagi (pembuatan pekerja baru proses, halaman ASP.NET dan kompilasi Dll, dll.), hal ini dapat menyebabkan penurunan kinerja dan sesi pengguna selesai, jika penggunaan memori server memungkinkan, maka, nilai yang disarankan untuk batas waktu idle adalah 0 (diatur ke nol, di dengan kata lain, IIS akan melakukannya jangan pernah mematikan proses pekerja yang sudah berjalan karena waktu tidak aktif, proses tersebut hanya akan didaur ulang jika kondisi daur ulang lainnya terpenuhi)
Identitas default yang digunakan oleh proses pekerja adalah ApplicationPoolIdentity, dan ia memiliki hak istimewa yang diperlukan untuk menjalankan hampir semua aplikasi web, jika akun ini perlu diubah, kami perlu memastikan bahwa akun yang dipilih tidak memiliki hak istimewa lebih dari minimum yang diperlukan , dalam keadaan apa pun, tidak pernah disarankan untuk meninggalkan akun LocalService atau Administrator untuk menjalankan proses pekerja dalam produksi, hal ini tidak hanya dapat mengekspos keamanan aplikasi, keamanan sistem operasi kami, juga
Karena setiap kumpulan aplikasi memulai proses pekerja yang berbeda, ini adalah lapisan isolasi utama di IIS, jadi, jika karena alasan tertentu suatu aplikasi mengalami masalah kinerja, pengecualian yang tidak tertangani, pertentangan thread dan/atau masalah manajemen sumber daya, maka aplikasi lain tidak boleh terpengaruh oleh perilaku buruk ini, dan itu benar, tetapi hanya jika setiap aplikasi diisolasi dalam kumpulan aplikasinya sendiri.
Jangan pernah meninggalkan tombol
secara tidak sengaja (atau sengaja) pada file web.config aplikasi, hal ini akan menyebabkan beberapa hal tidak optimal terjadi, antara lain:
PS > build.ps1
, ini akan membuat folder output
output
ke server target untuk dianalisisPS > Run.ps1
HostName-Findings.csv
Berisi semua item tindakan yang terkait dengan praktik terbaik operasi IIS/ASP.NETHostName-BaseLineInfo.csv
Berisi informasi umum tentang keadaan sistem saat iniAnda perlu menjalankan perintah ini sebagai Administrator
Setiap perbaikan desain dipersilakan, setiap ide baru juga diterima :)
Hampir semua kode di Powerops dirancang dan ditulis melalui TDD, jadi saya mendorong Anda untuk melanjutkan kebiasaan baik ini
untuk menjalankan pengujian unit, buka PowerShell sebagai administrator dan jalankan PS projectPath/test/> Invoke-Pester