Інструкції для бухгалтера
Тести для бухгалтера
документів для бухгалтера
У статті вказані основні помилки, які роблять початківці адміністратори 1С, і показані способи їх вирішення на прикладі тесту Гильова.
Основна мета написання статті - щоб не повторювати очевидні нюанси тим адміністраторам (і програмістам), які ще не набрали досвіду з 1С.
Вторинна мета, якщо у мене будуть якісь недоліки, - на Інфостарте мені це вкажуть швидше за все.
Для перевірки 10 Gbit мережі використовувалися Intel 520-DA2 адаптери.
Файлова версія. (База лежить на сервері в расшаренной папці, клієнти підключаються по мережі, протокол CIFS / SMB). Алгоритм по кроків:
0. Додаємо на файловий сервер тестову базу Гильова в ту ж папку, що і основні бази. З клієнтського комп'ютера підключаємося, запускаємо тест. Запам'ятовуємо вийшов результат.
Мається на увазі, що навіть для старих комп'ютерів 10 річної давності (Pentium на 775 socket) час від натискання на ярлик 1С: Підприємство до появи вікна бази повинно пройти менше хвилини. (Celeron = повільна робота).
Якщо комп'ютер не гірше, то можна штовхати адміністратора. Як мінімум - перевірити роботу мережі, антивіруса і драйвера захисту HASP.
Якщо тест Гильова на цьому етапі показав 30 "папуг" і вище, але робоча база 1С все одно працює повільно - питання вже до програміста.
1. Для орієнтиру, скільки ж може "вичавити" клієнтський комп'ютер, перевіряємо роботу тільки цього комп'ютера, без мережі. Тестову базу ставимо на локальний комп'ютер (на дуже швидкий диск). Якщо на клієнтському комп'ютері немає нормального ССД, то створюється рамдіск. Поки, найпростіше і безкоштовне - Ramdisk enterprise.
Для тестування версії 8.2 цілком достатньо 256 мб рамдіска, і! Найголовніше. Після перезавантаження комп'ютера, з працюючим рамдіском, на ньому має бути вільно 100-200 мб. Відповідно, без рамдіска, для нормальної роботи вільної пам'яті має бути 300-400 мб.
Для тестування версії 8.3 рамдіска 256 мб вистачить, але вільної оперативної пам'яті треба більше.
При тестуванні потрібно дивитися на завантаження процесора. У разі, близькому до ідеального (рамдіск), локальна файлова 1с при роботі завантажує 1 ядро процесора. Відповідно, якщо при тестуванні у вас ядро процесора завантажено в повному обсязі - шукайте слабкі місця. Трохи емоційно, але в цілому коректно, вплив процесора на роботу 1С описано тут. Просто для орієнтиру, навіть на сучасних Core i3 з високою частотою цілком реальні цифри 70-80.
Найбільш часто зустрічаються помилки на цьому етапі.
- Неправильно налаштований антивірус. Антивірусів багато, настройки для кожного свої, скажу лише те, що при грамотній настройці ні веб, ні касперский 1С не заважають. При налаштуваннях "за замовчуванням" - може відніматися приблизно 3-5 папуг (10-15%).
- Режим продуктивності. Чомусь на це мало хто звертає уваги, а ефект - найвагоміший. Якщо потрібна швидкість - то робити це обов'язково, і на клієнтських і на серверних комп'ютерах. (Гарне опис у Гильова. Єдиний нюанс, на деяких материнських платах якщо вимкнути Intel SpeedStep то не можна включати TurboBoost).
Включати режим продуктивності можна (і бажано) в двох місцях:
- через BIOS. Відключити режими C1, C1E, Intel С-state (C2, C3, C4). У різних Біосил вони називатися по різному, але зміст один. Шукати довго, потрібне перезавантаження, але якщо зробив один раз - потім можна забути. Якщо в BIOS все зробити правильно, то швидкості додасться. На деяких материнських платах настройками BIOS можна зробити так, що режим продуктивності Windows ролі грати не буде. (Приклади налаштування BIOS у Гильова). Ці настройки в основному стосуються серверних процесорів або "просунутих" BIOS, якщо Ви таке у себе не знайшли, і у вас НЕ Xeon - нічого страшного.
- Панель управління - Електроживлення - Висока продуктивність. Мінус - якщо ТО комптютера давно не проводилося, він буде сильніше гудіти вентилятором, буде більше грітися і споживати більше енергії. Це - плата за продуктивність.
Це - стандартні параметри.
В BIOS C-state включені,
режим енергоспоживання збалансований
А в підсумку виходить, що по тестах продуктивності ЦПУ варіант з множником 23 попереду, по тестах Гильова в файлової версії - продуктивність з множником 22 і 23 однакова, а ось в клієнт-серверної - варіант з множником 23 жах жах жах (навіть, якщо C -state виставити на рівень 7, то все одно повільніше, ніж з вимкненим C-state). Тому рекомендація, перевірте обидва варіанти у себе, і виберіть з них кращий. У будь-якому випадку, різниця 49,5 і 53 папуги - досить значна, тим більше це без особливих зусиль.
Висновок - turbo boost включати обов'язково. Нагадаю, що недостатньо включити пункт Turbo boost в биосе, треба ще подивитися і інші настройки (BIOS: QPI L0s, L1 - disable, demand scrubbing - disable, Intel SpeedStep - enable, Turbo boost - enable. Панель управління - Електроживлення - Висока продуктивність) . І я б все-таки (навіть для файлової версії) зупинився на варіанті, де c-state вимкнений, хоч там множник і менше. Вийде якось так.
Досить спірним моментом є частота пам'яті. Наприклад ось тут частота пам'яті показується як дуже сильно впливає. Мої ж тести - такої залежності не виявили. Я не буду порівнювати DDR 2/3/4, я покажу результати зміни частоти в межах однієї лінійки. Пам'ять одна і та ж, але в биосе примусово ставимо менші частоти.
І результати тестування. 1С 8.2.19.83, для файлового варіанту локальний рамдіск, для клієнт-серверного 1С та SQL на одному комп'ютері, Shared memory. Turbo boost в обох варіантах вимкнений. 8.3 показує зіставні результати.
Різниця - в межах похибки вимірювань. Я спеціально витягнув скріни CPU-Z щоб показати, що зі зміною частоти змінюються і інші параметри, ті ж CAS Latency і RAS to CAS Delay, що нівелює зміна частоти. Різниця буде тоді, коли фізично будуть змінюватися модулі пам'яті, з більш повільних на більш швидкі, але і там цифри не особливо значні.
І ще. З настройками за замовчуванням windows клієнт найкраще працює з windows server (або навіть windows робоча станція) і протоколом SMB / CIFS, linux клієнт (debian, ubuntu інші не дивився) краще працює з linux і NFS (з SMB теж працює, але на NFS папуги вище). Те, що при лінійному копіюванні вин-лінукс сервер на нфс копіюється в один потік швидше, ще ні про що не говорить. Тюнінг debian для 1С - тема окремої статті, я до неї ще не готовий, хоча можу сказати, що в файлової версії отримував навіть трохи більшу продуктивність, ніж Win варіант на цьому ж обладнанні, але з postgres при користувачів понад 50 у мене поки що все дуже погано.
Найголовніше, про що знають "обпікшись" адміністратори, але не враховують початківці. Є дуже багато способів задати шлях до бази 1с. Можна зробити servershare, можна 192.168.0.1share, можна net use z: 192.168.0.1share (і в деяких випадках такий спосіб теж спрацює, але далеко не завжди) і потім вказувати диск Z. Начебто всі ці шляхи вказують на один і той ж місце, але для 1С є тільки один спосіб, досить стабільно дає нормальну продуктивність. Так ось, правильно робити треба так:
Висновки (з таблиці, і з особистого досвіду. Стосується тільки файлової версії):
Термінальний сервер. (База лежить на сервері, клієнти підключаються по мережі, протокол RDP). Алгоритм по кроків:
Raid 10 4x SATA 7200
Raid 10 4x SAS 10k
Raid 10 4x SAS 15k
- Включений кеш RAID контролера нівелює всю різницю між дисками, цифри однакові і для сата, і для сас. Тестування з ним для невеликого обсягу даних марно і не є якимось показником.
- Для платформи 8.2 різниця в продуктивності між SATA і SSD варіантами - більш ніж в два рази. Це не помилка. Якщо під час тесту на САТА дисках дивитися на монітор продуктивності. то там явно видно "Активне час роботи диска (в%)" 80-95. Так, якщо включити кеш самих дисків на запис швидкість зросте до 35, якщо включити кеш рейд контролера - до 49 (незалежно від того, які диски тестуються в даний момент). Але це - синтетичні папуги кешу, в реальній роботі при великих базах ніколи не буде 100% write cache hit ratio.
- Швидкості навіть дешевих ССД (я тестував на Agility 3) цілком вистачає для роботи файлової версії. Ресурс записи - інша справа, тут треба дивитися в кожному конкретному випадку, зрозуміло, що у Intel 3700 він буде на порядок вище, але там і ціна відповідна. І так, я розумію, що при тестуванні SSD диска я теж тестую в бОльшей ступеня кеш цього диска, реальні результати будуть менше.
- Найбільш правильним (з моєї точки зору) рішенням буде виділити 2 ССД диска в дзеркальний рейд для файлової бази (або декількох файлових баз), і нічого більше туди не поміщати. Так, при дзеркалі ССД зношуються однаково, і це мінус, але хоча б від помилок електроніки контролера хоч якось застраховані.
- Основні плюси ССД дисків для файлового варіанту з'являться тоді, коли буде багато баз, і в кожній по кілька користувачів. Якщо баз 1-2, і користувачів в районі 10, то і SAS дисків вистачить. (Але в будь-якому випадку - дивитися на завантаження цих дисків, хоча б через perfmon).
- Основні плюси термінального сервера - у нього можуть бути дуже слабкі клієнти, і налаштування мережі на термінальний сервер впливають набагато менше (знову ваш К.О.).
Якщо ж і тест Гильова показуємо маленькі цифри, і у вас і процесор з високою частотою, і диски швидкі, то ось тут адміністраторові треба брати як мінімум perfmon, причому із записом всіх результатів кудись, і дивитися, спостерігати, робити висновки. Однозначних рад не буде.
Тести проводив тільки на 8.2, тому що на 8.3 все досить серйозно залежить від версії.
Для тестування вибирав різні варіанти серверів і мережі між ними, щоб показати основні тенденції.
SQL: Xeon E5-2630
SQL: Xeon E5-2630
Fibre channel - SSD
SQL: Xeon E5-2630
Fibre channel - SAS
SQL: Xeon E5-2630
SQL: Xeon E5-2630
Fibre channel - SSD
SQL: Xeon E5-2630
Клерк (1) Facebook Вконтакте
Люди котрим сподобалось
Облік розрахунків по оплаті праці. Складні питання, податки і внески, практичні приклади в "1С: Зарплата і Управління Персоналом 8"
Кадрове діловодство на основі норм трудового права: облік в програмі 1С: 8.2