Saya melakukan beberapa pembandingan tangan sederhana pada server basis data (langsung) kami selama jam non-puncak, dan saya perhatikan bahwa kueri mengembalikan hasil patokan yang agak tidak menentu .
Saya telah mengaktifkan rencana penghematan daya "Seimbang" pada semua server kami beberapa waktu yang lalu, karena saya pikir mereka tidak mendekati pemanfaatan tinggi dan dengan cara ini kita bisa menghemat energi.
Saya berasumsi ini tidak akan berdampak signifikan dan terukur pada kinerja. Namun, fitur jika menghemat daya CPU yang mempengaruhi kinerja khas - terutama pada server database bersama - maka saya tidak yakin itu worth it!
Saya sedikit terkejut bahwa tingkat web kami, bahkan ketika pada beban 35-40%, sedang down-clocking dari 2,8 Ghz @ 1,25V ke 2,0 Ghz @ 1,15V.
Saya sepenuhnya mengharapkan down-clocking untuk menghemat daya, tetapi level beban itu tampaknya cukup tinggi bagi saya sehingga seharusnya menendang hingga kecepatan clock penuh.
Server basis data 8-cpu kami memiliki banyak lalu lintas, tetapi pemanfaatan CPU sangat rendah (hanya karena sifat kueri SQL kami - banyak dari mereka, tetapi kueri yang sangat sederhana). Biasanya duduk di 10% atau kurang. Jadi saya berharap itu downclocking lebih dari screenshot di atas. Lagi pula, ketika saya mengubah manajemen daya menjadi "kinerja tinggi" saya melihat tolok ukur kueri SQL sederhana saya meningkat sekitar 20%, dan menjadi sangat konsisten dari menjalankan ke menjalankan .
Saya kira saya berpikir bahwa manajemen daya pada server yang dimuat ringan adalah win-win - tidak ada kehilangan kinerja, dan penghematan daya yang signifikan karena CPU umumnya konsumen daya # 1 atau # 2 di sebagian besar server. Tampaknya bukan itu masalahnya; Anda akan menyerah beberapa kinerja dengan manajemen daya CPU diaktifkan, kecuali server Anda selalu di bawah beban yang begitu banyak sehingga manajemen daya secara efektif mematikan dirinya sendiri. Hasil ini mengejutkan saya.
Adakah yang punya pengalaman atau rekomendasi lain untuk dibagikan pada manajemen daya CPU untuk server? Apakah ini sesuatu yang Anda nyalakan atau matikan di server Anda? Sudahkah Anda mengukur banyak daya yang Anda hemat? Sudahkah Anda membandingkan dan mematikannya?
sumber
Jawaban:
Saya tidak yakin tentang server, tetapi pemikiran saat ini di perangkat yang disematkan tidak perlu repot dengan langkah-langkah antara daya rendah dan flat-out karena waktu tambahan yang terlibat akan memakan penghematan daya Anda, jadi pada dasarnya mereka menjalankan daya rendah sampai mereka mendapatkan jumlah nyata dari beban cpu di mana mereka membalik ke tercepat mungkin sehingga mereka dapat menyelesaikan pekerjaan dan kembali ke pemalasan dengan daya rendah.
sumber
Saya selalu mematikan semua jenis manajemen daya di server. Saya ingin tahu apa yang dialami orang lain, tetapi saya selalu beranggapan bahwa jika server kekurangan waktu, akan selalu ada penundaan untuk 'meningkatkan' CPU hingga 100%, dan di pusat data mengatur penundaan seperti ini tidak dapat diterima.
Data yang Anda berikan tampaknya mendukung asumsi ini. Jadi, saya belum melakukan pengujian khusus tetapi tampaknya Anda tidak boleh menggunakan teknologi hemat daya apa pun di Windows atau BIOS. Saya bahkan mematikan pengaturan 'mematikan Jaringan' dan kartu PCI menjadi sangat konservatif.
sumber
Berapa Banyak Kekuasaan yang sebenarnya akan Menghemat Anda :
Jika Anda memutuskan bahwa fitur ini dapat membahayakan stabilitas server Anda (saya memiliki pengalaman dengan ini), maka Anda dapat mencari tempat lain untuk penghematan energi.
Saya akan mencoba mencari tahu berapa banyak energi ini mungkin menghemat untuk jumlah server yang Anda miliki (Meskipun mungkin Anda sudah melakukan ini). Karena grafik yang Anda poskan dalam jawaban Anda adalah persentase, untuk perusahaan Anda, penghematan mungkin sebenarnya sangat kecil daya sebenarnya. Jika Anda tidak memiliki banyak server, mungkin sebenarnya tidak sebanyak itu, dan mendapatkan lampu yang digerakkan dengan gerakan atau sesuatu seperti itu di kantor Anda mungkin menghemat lebih banyak energi (meskipun itu tidak begitu berharga).
Saya ingat pernah membaca beberapa tahun yang lalu tentang salah satu perusahaan mobil besar Amerika (lupa yang) memiliki tekanan untuk mengubah emisi gas buang pada mobil mereka. Sebaliknya, perusahaan menunjukkan bahwa jika mereka menutup beberapa pabriknya, itu akan jauh lebih murah bagi mereka serta menghasilkan penghematan emisi yang jauh lebih banyak.
Don't Forget Disks:
Juga, Anda mungkin ingin memeriksa apakah fitur penghematan daya ini tidak merusak disk jika tidak digunakan. Mungkin sebentar sementara semua hasil query SQL akan di RAM, disk akan digunakan dan pergi tidur (Tidak yakin apakah itu berfungsi seperti itu)? Jika ini bisa terjadi, akan ada penalti performa yang besar sementara semuanya berputar lagi.
sumber
Pendahuluan: Saya membuat beberapa lompatan / generalisasi tentang Intel Xeon dan kinerja hemat daya mereka dengan SpeedStep. Dalam membaca tentang Intel Xeon " Yorkfield " 45nm CPU, Enhanced Intel SpeedStep Technology (EIST) dan Enhanced Halt State (C1E) tampaknya menjadi penyebab sesungguhnya dari situasi ini. Saya setuju dengan statment Anda dalam mempercayai bahwa menyalakan fitur manajemen daya seperti itu akan membantu konservasi energi tetapi ketika CPU membutuhkan energi di bawah beban, sistem akan kembali ke pengaturan kecepatan clock tegangan normal. Tampaknya EIST dan C1E memiliki beberapa efek samping yang tidak secara implisit tersirat saat menggunakan opsi salah satu atau di BIOS. Setelah merayapi banyak situs web overclocking, tampak bahwa kedua pengaturan di BIOS ini menimbulkan sedikit frustrasi.
Dari http://www.overclock.net/intel-cpus/376099-speedstep-guide-why-does-my-processor.html :
Walaupun menyesuaikan pengaturan kinerja Anda untuk "kinerja tinggi" mungkin merupakan pengaturan terbaik untuk server database, saya cukup yakin baik EIST dan / atau C1E menyebabkan CPU di bawah berkinerja walaupun mereka harus kembali ke pengaturan normal ketika beban meningkat secara substansial. Peringatan besar bagi saya tampaknya adalah "apa beban yang substansial?" Menurut situs overclockers.net mereka mengklaim bahwa EIST menggunakan pengaturan "skema daya" tersebut untuk cara memanipulasi pengaturan CPU Anda. Tetapi tidak ada indikasi persentase beban atau berapa lama untuk mengetahui kapan harus mengembalikan CPU ke tegangan normal.
Sekali lagi, saya sama sekali tidak ahli dalam masalah pokok untuk CPU Intel tetapi saya ingin bertaruh bahwa menyesuaikan kedua pengaturan ini dapat membuat Anda menghemat daya yang Anda inginkan dan kinerja yang seharusnya Anda dapatkan, tetapi tetap dengan pengaturan "kinerja maksimum" sama efektifnya tanpa perlu reboot.
sumber
Jawaban cepatnya adalah: Tentu saja penghematan daya akan memengaruhi kinerja.
Jawaban yang lebih panjang tidak menyenangkan. Pada dasarnya, cobalah pengaturan, uji kinerja, dan putuskan apa yang bisa Anda jalani.
Aplikasi dan sistem sangat rumit sehingga tidak ada jawaban yang terpotong-potong di sini, selain "ya, waktu reaksi dan kecepatan sistem lainnya akan terpengaruh." Jika itu jauh lebih lambat daripada hard drive, atau jaringan - well, Anda mendapatkan idenya. Uji dalam kenyataan.
sumber
Saya selalu mencoba VM sebanyak server yang saya bisa tetapi di mana saya harus 'bare-metal' server itu biasanya seperti yang saya butuhkan atau ingin kinerja yang benar-benar konsisten. Jadi untuk mesin yang sangat penting bagi bisnis ini, saya TIDAK PERNAH menyalakan apa pun yang berhubungan dengan penghematan daya untuk alasan yang Anda alami.
*** bang-go-my-green-credentials *
sumber
Beberapa hal:
Periksa di BIOS untuk memastikan bahwa manajemen daya berada di bawah kendali OS. Bisa jadi itu diatur untuk dikelola oleh firmware, dan karenanya menggunakan manajemen daya prosesor yang bodoh dan tidak optimal.
Periksa untuk melihat apakah ada perbaikan terbaru terkait manajemen daya yang mungkin Anda lewatkan. Ada beberapa yang terkenal kembali pada hari ketika Vista / Server 2008 keluar.
Periksa konfigurasi terperinci untuk Balanced. Mungkin saja fitur hemat daya lain menyebabkan penurunan kinerja. Secara teori, kinerja hit dari EIST harus diabaikan, meskipun sekali lagi, database SQL memiliki jejak yang unik, dan bisa dibayangkan bahwa itu akan dipengaruhi secara tidak proporsional oleh manajemen daya prosesor.
sumber
Beberapa informasi dari Microsoft (format Word Doc, sayangnya)
Meningkatkan Efisiensi Energi dan Mengelola Konsumsi Daya dengan Windows Server 2008 R2
Fitur-fitur hemat daya CPU tingkat hardware ini adalah sama di bawah OS apa pun, itu hanya pertanyaan apakah Anda menyalakannya atau tidak.
Grafik penghematan daya tanpa manajemen daya CPU, versus manajemen daya CPU:
Kami jelas bahwa (dan grafik ini menunjukkan itu) pada tingkat pemanfaatan tinggi, manajemen daya CPU secara otomatis dimatikan. Apa yang saya tidak jelas, bagaimanapun, adalah apakah pada tingkat pemanfaatan yang rendah ada dampak terhadap kinerja server secara keseluruhan, misalnya waktu penyelesaian pada pertanyaan SQL Server sederhana.
sumber
Anda seharusnya tidak pernah menggunakan pengaturan Windows atau Bios Speedstep yang datang pada prosesor Intel dan ada juga yang setara AMD. Ini dapat menyebabkan masalah, dan saya telah melihat masalah seperti itu di mana dengan Speedstep jam CPU akan terus memantul naik dan turun secara tidak menentu meskipun penggunaan sumber daya CPU konsisten.
Jika Anda ingin menjadi lebih hijau dan menyimpan tenaga, menggunakan prosesor daya rendah, ditunjuk dengan karakter L sebelum nama model, seperti L seri 54xx dan L 55xx series dari Intel.
EDIT: Saya minta maaf jika saya memberi kesan bahwa fitur ini akan selalu gagal, saya baru saja dibakar olehnya, dan dalam sistem misi kritis saya tidak dapat memiliki hal-hal semacam ini terjadi, jadi saya hanya mencoba untuk tetap jauh dari itu.
sumber
Ketika Anda berbicara tentang kinerja pada server, ada beberapa cara berbeda untuk melihatnya. Ada waktu respons yang jelas (mirip dengan latensi jaringan) dan throughput (mirip dengan bandwidth jaringan).
Beberapa versi Windows Server dikirim dengan pengaturan Balanced Power diaktifkan secara default. Seperti yang ditunjukkan Jeff. Windows 2008 R2 adalah salah satunya. Sangat sedikit CPU saat ini yang merupakan single core sehingga penjelasan ini berlaku untuk hampir setiap server Windows yang akan Anda temui kecuali VM single-core. (lebih lanjut tentang itu nanti).
Ketika rencana daya Seimbang aktif, CPU mencoba untuk membatasi berapa banyak daya yang digunakannya. Cara melakukannya adalah dengan menonaktifkan setengah dari inti CPU dalam proses yang dikenal sebagai "parkir". Hanya setengah dari CPU yang akan tersedia pada satu waktu sehingga menggunakan lebih sedikit daya selama lalu lintas rendah. Ini bukan masalah dalam dan dari dirinya sendiri.
Yang menjadi masalah adalah fakta bahwa ketika CPU tidak diparkir, Anda telah menggandakan siklus CPU yang tersedia untuk sistem dan tiba-tiba tidak seimbang beban pada sistem, mengambilnya dari (misalnya) pemanfaatan 70% hingga pemanfaatan 35%. Sistem melihat itu dan setelah ledakan lalu lintas diproses, ia berpikir "Hei, saya harus memutar balik ini sedikit untuk menghemat daya". Dan begitulah yang terjadi.
Inilah bagian yang buruk. Untuk mencegah distribusi panas & daya yang tidak merata dalam inti CPU, CPU cenderung memarkir CPU yang belum diparkir baru-baru ini. Dan agar itu berfungsi dengan baik, CPU perlu mem-flush semuanya dari register CPU (L1, L2 & L3 cache) ke beberapa lokasi lain (kemungkinan besar memori utama).
Sebagai contoh hipotetis, katakanlah Anda memiliki CPU 8 inti dengan C1-C8.
Ketika ini terjadi, mereka semua menjadi aktif untuk beberapa periode waktu, dan kemudian sistem akan memarkirkannya sebagai berikut:
Tetapi dengan melakukan hal itu, ada sejumlah besar overhead yang terkait dengan pembilasan semua data dari cache L1-L3 untuk membuat ini terjadi sehingga kesalahan aneh tidak terjadi pada program yang memerah dari saluran CPU.
Mungkin ada nama resmi untuk itu, tapi saya ingin menjelaskannya sebagai meronta-ronta CPU. Pada dasarnya prosesor menghabiskan lebih banyak waktu untuk melakukan pekerjaan yang sibuk dengan memindahkan data secara internal daripada melakukan permintaan pekerjaan.
Jika Anda memiliki aplikasi apa pun yang membutuhkan latensi rendah untuk permintaannya, Anda harus menonaktifkan pengaturan Daya Seimbang. Jika Anda tidak yakin apakah ini masalah, lakukan hal berikut:
Jika Anda melihat salah satu dari mereka diparkir, Anda akan melihat bahwa separuh dari mereka diparkir pada waktu tertentu, mereka semua akan menyala, dan setengahnya lagi diparkir. Bergantian bolak-balik. Dengan demikian, sistem CPU meronta-ronta.
Mesin Virtual: Masalah ini bahkan lebih buruk ketika Anda menjalankan mesin virtual karena ada overhead tambahan dari hypervisor. Secara umum, agar VM dapat berjalan, perangkat keras harus memiliki slot waktu yang tersedia untuk masing-masing core pada setiap kutu waktu.
Jika Anda memiliki perangkat keras 16 inti, Anda dapat menjalankan VM menggunakan lebih dari 16 core total, tetapi untuk setiap kutu waktu, hanya hingga 16 CPU virtual yang memenuhi syarat untuk slice waktu itu dan hypervisor harus sesuai dengan semua core untuk VM ke dalam kutu waktu itu. Itu tidak bisa disebarkan dalam berbagai waktu. (Kutu waktu pada dasarnya adalah satu set siklus X CPU. Mungkin 1000 atau mungkin 100 k siklus)
Contoh: 16 perangkat keras inti dengan 8 VM. 6 memiliki 4 CPU virtual (4C) dan 2 memiliki 8 CPU virtual (8C).
Timeslice 1: 4x4C Timeslice 2: 2x8C Timeslice 3: 2x4C + 1x8C Timeslice 4: 1x8C + 2x4C
Apa yang hypervisor tidak dapat lakukan adalah membagi setengah dari penjatahan untuk kutu waktu ke 4 CPU pertama dari 8 vCPU VM dan kemudian pada kutu waktu berikutnya, berikan sisanya ke 4 vCPU lain dari VM itu. Semuanya atau tidak sama sekali dalam kutu waktu.
Jika Anda menggunakan Microsoft Hyper-V, pengaturan kontrol daya dapat diaktifkan di OS host, yang berarti itu akan menyebar ke sistem klien, sehingga berdampak pada mereka juga.
Setelah Anda melihat bagaimana ini bekerja, mudah untuk melihat bagaimana menggunakan pengaturan Kontrol Daya Seimbang menyebabkan masalah kinerja dan server lamban. Salah satu masalah mendasar adalah bahwa permintaan masuk perlu menunggu proses parkir / pembatalan CPU selesai sebelum server akan dapat menanggapi permintaan yang masuk, apakah itu permintaan basis data, permintaan server web, atau hal lain .
Kadang-kadang, sistem akan memarkir atau melepas CPU di tengah permintaan. Dalam kasus ini, permintaan akan mulai masuk ke dalam pipa CPU, dikeluarkan dari situ, dan kemudian inti CPU yang berbeda akan mengambil proses dari sana. Jika itu permintaan yang cukup besar, ini mungkin terjadi beberapa kali selama permintaan, mengubah apa yang seharusnya menjadi query database 5 detik menjadi query database 15 detik.
Hal terbesar yang akan Anda lihat dari menggunakan Balanced Power adalah bahwa sistem akan merasa lebih lambat untuk menanggapi hampir setiap permintaan yang Anda buat.
sumber