Jadi - kami memiliki basis data perusahaan internal, jenis barang yang biasa: mengelola klien, panggilan telepon, transaksi penjualan, dan perjanjian / skema klien.
Ini adalah Access 2000 front-end, dan SQL Server 2000 Standard back-end. Server tunggal, dual Xeon 3.2GHz, RAM 2GB, Windows Server 2003, mendapat sekitar 40% beban CPU sepanjang hari, tersebar di 4 core yang terlihat oleh OS (HT).
Basis data back-end dirancang dengan buruk, dan telah tumbuh secara organik lebih dari 10 tahun, dikelola oleh individu yang kurang terampil. Ini dinormalisasi dengan buruk, dan beberapa masalah yang jelas termasuk tabel dengan puluhan ribu baris tanpa kunci primer atau indeks, yang juga banyak digunakan dalam gabungan multi-tabel untuk beberapa bagian sistem yang paling banyak digunakan (misalnya aplikasi panggilan manajer yang duduk di monitor kedua semua orang selama 8 jam sehari dan menjalankan permintaan besar yang tidak efisien setiap beberapa detik).
Front-end tidak jauh lebih baik, ini adalah kekacauan khas dari ratusan bentuk, query tersimpan bersarang, SQL tertanam yang ditulis dengan buruk dalam kode VBA, puluhan "quirks" dll, dan setiap kali perubahan dilakukan sesuatu yang tidak terkait tampaknya rusak. Kami telah menetapkan satu MDB yang berfungsi "cukup baik" dan sekarang memiliki kebijakan tidak ada perubahan karena kami tidak memiliki akses kelas berat di dalam perusahaan (dan tidak ada rencana untuk menyewa satu pun).
Perusahaan sekarang perlahan-lahan tumbuh, meningkatkan jumlah klien, panggilan, dll, serta sedikit peningkatan jumlah pengguna secara bersamaan, dan kinerjanya telah menjadi semakin buruk baru-baru ini (menunggu untuk bergerak di antara formulir, menunggu daftar untuk diisi dll) )
Perfmon mengatakan:
- Transfer disk per detik: antara 0 dan 30, rata-rata 4.
- Panjang antrian disk saat ini: berkisar sekitar 1
Profiler SQL Server melihat ratusan ribu kueri setiap menit. Penggunaan CPU pada klien hampir nol, menunjukkan itu menunggu permintaan sisi server untuk dieksekusi. Saya telah menempatkan beban kerja ini melalui DB Engine Tuning Advisor, menerapkan saran-sarannya pada cadangan uji, tetapi ini tidak benar-benar membuat banyak perbedaan.
Omong-omong, kami memiliki campuran 100MB dan gigabit ethernet, semuanya dalam satu subnet, 40 pengguna ish di dua lantai.
Untuk pertanyaan.
Seperti yang saya lihat, kita memiliki dua pilihan untuk menyelesaikan / memperbaiki situasi ini.
- Kami dapat memo dan menggantinya dengan sistem CRM yang sama sekali baru, baik dipesan lebih dahulu atau sebagian dipesan lebih dahulu
- Kita dapat memperpanjang umur sistem ini dengan melemparkan perangkat keras padanya.
Kita dapat membangun sistem Intel i7 dengan angka kinerja gila dengan urutan biaya lebih murah daripada mengganti perangkat lunak.
Ketika suatu sistem baru pada akhirnya dikembangkan, ia dapat di-host pada kotak ini, sehingga tidak ada perangkat keras yang terbuang. Sistem CRM baru terus ditunda, mati, dan mati - Saya tidak melihat itu terjadi selama setidaknya satu tahun.
Setiap pemikiran tentang situasi ini, terutama jika Anda sudah berada di sini sendiri, akan sangat dihargai.
Terima kasih