|
»
»
»
|
Тестове са провеждани с цел оценка мащабируемост на решението "Управление на производствено предприятие" (УПП) при едновременна работа на голямо количество потребители.
При провеждане на тестовете са приложени общоприети методи за оценка на производителността на корпоративни информационни системи:
- Използване за тестове типово решения.
- Тестове на операции, най-критични от гледна точка работа на типична организация.
- Тестове на операции при фиксирани параметри, типични за болшинство организации.
- Програмна имитация на типични сценарии за работа на потребителите на системата, създаващи натовареност съществено превишаваща натовареността, създавана от реални потребители.
- Използване на основни показатели за обем на бизнес-операциите, отразявани в в системата за единица време и средно време за изпълнение на операциите.
- Сървър 1С: Предприятие:
- 2 * Intel Xeon, 3.6 GHz
- ОЗУ: 8 Gb (PAE)
- Дискова подсистема: 3 * 70 Gb SCSI диска в режим Stripe.
- Сървър база данни: Sun Fire V40z при следна конфигурация:
- Процесор: 4 * AMD Opteron 850,2.39 GHz.
- ОЗУ: 8 Gb
- Дискова подсистема: 5* 70GB SCSI ULTRA360 RAID 5
- 1C: Предприятие 8.0.13.32
- MS SQL Server 2000 (SP4)
- Тестовете са извършени на УПП версия 1.1.7, в която е проведена допълнителна оптимизация на решението в сравнение с предходни версии.
- Всички тестове са проведени при различно количество едновременно работещи тестови потребители: от 1 до 150.
- По време на тестовете са извършвани записи и оперативно провеждане на документи «Реализация на стоки и услуги».
- Документ се е провеждал в управленския отчет и не се е провеждал в счетоводния и данъчния. Дадения режим на работа се явява типичен за болшинство организации при масово многопотребителско въвеждане на документ «Реализация на стоки и услуги». По време на въвеждане на документа оператора (търговец), го провежда само в управленския отчет. След което в неоперативен режим друг оператор (счетоводител) осъществява неговото повторно провеждане по останалите видове отчети, добавяйки и контролирайки допълнителна информация (счетоводни сметки и т.н.). При провеждане на дадения тест е изпитван оперативния режим като най-критичен от гледна точка паралелна работа на потребители.
- По време на провеждането системата изпълнява следните действия:
- Проверка за наличие достатъчно количество стоки:
- На склад;
- В собствени организации-продавач
- Отразяване на операциите в следните раздели:
- Налични стоки, фактически намиращи се в складове на предприятието.
- Налични стоки, принадлежащи на предприятието.
- Отчет продажби.
- Състояние на взаиморазчети с контрагенти.
- Състояние на прогнозирани разчети с контрагенти.
- Разчет за себестойност на изписвани стоки при оперативно провеждане не се осъществява (в избран режим се използва механизъм разчет за себестойност).
- Всички тестове са провеждани за документи с различен обем:
- По време на тестовете всеки тестови потребител е въвеждал документи с пауза от 60 секунди.
- Всички тестове са провеждани за две различни степени конкурентни набори стоки от различни тестови потребители:
- 0% - набор стоки в различни тестови потребители не се пресичат, т.е. всеки от тях въвежда документи със свой набор стоки.
- 25% - всеки четвърти въведен документ има еднакъв набор стоки за всеки тестов потребител.
В процеса на тестване са измервани значения по следните показатели за производителност:
- Обема информация, обработвана от системата за единица време (документи и редове в документа за час).
- Средно време за записване и провеждане на един документ.
В резултат от тестовете е построена диаграма зависимост на количество документи, обработвани от системата за единица време, от количеството едновременно работещи тестови потребители:
- Ос X: количество активни тестови потребители в системата.
- Ос Y: количество документи, записани и проведени в системата за час.
- Графика на диаграмата:
- документи с обем 5 реда
- документи с обем 20 реда
- документи обем 40 реда
От диаграмата е видно, че обема информация, обработвана от системата равномерно се увеличава с нарастване количеството едновременно работещи тестови потребители, т.е. расте пропорционално на създаваната натовареност. Количеството обработвани документи практически не зависи от обема документи. Характера на зависимост говори за това, че системата се справя с дадената натовареност и не достига насищане (предел на пропускателна способност), т.е. при бъдещ ръст на количеството потребители, обема информация, обработвана от системата за единица време ще нараства.
Следва да се отбележи, че в хода на тестовете потребителите са въвеждали данни с интензивност, съществено превишаваща показателите за работа на реалните потребители. При едновременна работа на 150 тестови потребители с документи, обем от 40 реда, всеки от тях средно е въвел 51.3 документа или 2 052 реда в документа за час, което значително превишава натовареността, създавана от реални потребители.
Ще разгледаме тази зависимост с изброяване редовете в документа:
- Ос X: количество активни тестови потребители в системата.
- Ос Y: количество редове в документа, записани и проведени в системата за час.
- Графика на диаграмата:
- документи с обем 5 реда
- документи с обем 20 реда
- документи обем 40 реда
При максимална натовареност, моделирания в дадения тест (150 тестови тестове, 40 реда документи), система обработила над 300 000 реда в документите за час.
Ще изброим данните от тази диаграма за един тестов потребител:
- Ос X: количество активни тестови потребители в системата.
- Ос Y: количество редове в документа, записани и проведени от един тестов потребител за час.
- Графика на диаграмата:
- документи с обем 5 реда
- документи с обем 20 реда
- документи с обем 40 реда
От диаграмата е видно, че при увеличаване количеството тестови потребители, обема информация, обработвана от всеки от тях, се намалява незначително. Този факт говори за това, че системата не достига насищане, т.е. при бъдещо нарастване количеството потребители, общия обем информация, обработвана от системата за единица време ще нараства.
В резултат от тестването е била построена диаграма на зависимост на средно време за запис и провеждане на документ от количество едновременно работещи потребители за документи с различен обем:
- Ос X: количество активни тестови потребители на системата.
- Ос Y: Средно време за обработки (запис и провеждане) на един документ.
- Графика на диаграма:
- документи с обем 5 реда
- документи с обем 20 реда
- документи обем 40 реда
Средно време за запис и провеждане на документа нараства с увеличаване на количеството едновременно работещи потребители. Увеличаване времето на запис и провеждане на документа се обяснява с блокиране при паралелна работа с конкурентен набор данни, увеличаване натовареността на всички програмни компоненти на системата, също така въвеждане на разходи, свързани с обслужването на голямо количество потребители. При дадените условия тестването на средното време за запис и провеждане на документа в нито един тест не е превишило 10 секунди.
Следва да се отчете, че дадения показател не се отнася директно към обема информация, обработвана от един тестов потребител за единица време, а показва само средно време, изразходено за записване и провеждане на всеки документ (т.е. не отчита пауза между въвеждане на документи).
За оценяване влиянието на конкурентност върху производителността и мащабируемостта на системата са проведени аналогични тестове за пълнота на неконкурентни набори стоки.
В резултат от тестовете е построена диаграма на зависимостта време за обработка (записване и провеждане) един документ от количество едновременно работещи тестови потребители за конкурентни и неконкурентни набори данни:
От графиката е видно, че конкурентност при набора от данни увеличава времето за запис и провеждане на един документ. Това забавяне е толкова по-голямо, колкото по-голяма е натовареността на системата. Увеличаването на средното време за запис и провеждане на документа е свързано с блокиране на ресурсите, които са неизбежни при конкурентни набори данни.
В хода на тестовете е провеждан контрол блокировка на ниво SQL сървър. Във всички тестове на неконкурентни набори данни забавянията, свързани с блокиране на ресурсите, напълно отсъстват, т.е. тестовите потребители не блокират системата. По такъв начин системата демонстрира пълнота при паралелната работа на непресичащ се набор от данни. При тестове на конкурентни набори, т.е. при успоредно въвеждане на документи по стокови позиции, системата поставя блокировка, съответстващи на изискванията на бизнес-логиката.
Следва да се отбележи, че по време на тестовете на конкурентните набори данни не се наблюдават конфликти на взаимна блокировка (deadlock).
- При едновременна работа на 150 тестови потребители, системата е обработила на 300 000 реда в документите за час (при документи с обем 40 реда).
- При това тестовите потребители са въвеждали данните с интензивност съществено превишаваща показателите за работа на реалните потребители. Съгласно резултати от заявки средна интензивност на въвеждане на документите от реални потребители съставят 20 документа с по 15 реда за час, което съставя 300 реда в документа за час. Тестовия потребител при работа с 40 реда в документа е въвеждал с 6.84 пъти повече данни (2 052 реда за час).
- При зададените условия на тестване, системата не е достигнала предела си на производителност. С нарастване количеството тестови потребители, обема информация, обработван за единица време ще нараства.
- При зададените условия на тестване средното време за запис и провеждане на документи нито в един от тестовете не е превишил 10 секунди.
- При тестването на конкурентни данни не се е наблюдавал проблем, свързан с паралелната работа на потребителите.