Отже - у нас є внутрішня база даних компанії, звичайні речі: керування клієнтами, телефонні дзвінки, угоди про продаж та клієнтські угоди / схеми.
Це фронт-клас Access 2000 і резервний модуль SQL Server 2000 Standard. Один сервер, подвійний Xeon 3,2 ГГц, 2 Гб оперативної пам’яті, Windows Server 2003, отримує близько 40% завантаження процесора протягом усього дня, поширюючись на 4 ядра, видимі для ОС (HT).
Базова база даних погано розроблена і органічно виростає протягом 10+ років, що підтримується менш кваліфікованими особами. Це погано нормалізується, і до деяких очевидних проблем відносяться таблиці з десятками тисяч рядків без первинного ключа або індексу, які також активно використовуються в об'єднанні з декількома таблицями для деяких найбільш часто використовуваних частин системи (наприклад, додаток менеджера викликів, який сидить на другому моніторі кожного 8 годин на день і виконує великий неефективний запит кожні кілька секунд).
Передня частина не набагато краща, це типовий безлад у сотнях форм, вкладених збережених запитів, погано написаному вбудованому SQL в код VBA, десятках "химерностей" і т. Д., І кожного разу, коли відбувається зміна, здається, що щось не пов'язане. Ми влаштувались на одному MDB, який працює «досить добре», і тепер ми проводимо політику без змін щодо цього, оскільки у нас немає доступу до важкої ваги (а також не плануємо наймати його).
Зараз компанія повільно зростає, збільшується кількість клієнтів, дзвінки тощо, а також незначне збільшення кількості одночасних користувачів, а продуктивність стає нещодавно помітно гіршою (чекаючи переходу між формами, очікування появи списків і т.д. )
Perfmon каже:
- Передача диска в секунду: від 0 до 30, в середньому 4.
- Поточна довжина черги диска: наближається до 1
Профілер SQL Server щохвилини бачить сотні тисяч запитів. Використання процесора у клієнтів майже дорівнює нулю, що свідчить про очікування виконання запитів на стороні сервера. Я перемістив це робоче навантаження через Радника з налаштування Двигуна DB, застосував свої пропозиції до тестової резервної копії, але це насправді не мало особливих змін.
До речі, у нас є суміш 100 Мб і гігабітних Ethernet, все в одній підмережі, 40 користувачів на двох поверхах.
До питання.
Як я бачу, у нас є два варіанти вирішити / покращити цю ситуацію.
- Ми можемо брати його в обмін і замінювати його абсолютно новою системою CRM, або замовляти, або частину замовника
- Ми можемо продовжити термін експлуатації цієї системи, встановивши на ній обладнання.
Ми можемо створити систему Intel i7 з шаленими показниками продуктивності на порядок менше витрат, ніж заміна програмного забезпечення.
Коли в кінцевому підсумку буде розроблена нова система, її можна розмістити на цьому вікні, тому немає витраченого обладнання. Нова система CRM постійно відкладається, вимикається та вимикається - я не бачу, щоб це відбувалося принаймні рік.
Будь-які думки щодо цієї ситуації, особливо якщо ви тут були самі, були б дуже вдячні.
Спасибі