Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

Продуктивність 1С в клієнт-серверному варіанті

  1. 1. Збільшення апаратних потужностей
  2. 2. Налаштування сервера 1С: Підприємства
  3. 3. Налаштування SQL сервера
  4. 3.1 Аналіз ступеня фрагментації індексів
  5. 3.2 Використання фізичної пам'яті розміром більше 2 ГБ в Microsoft SQL Server
  6. 3.3 Зменшення розміру журналу транзакцій Microsoft SQL Server
  7. 3.4 Переміщення бази даних TEMPDB на інший диск більшого розміру.
  8. 4. Оптимізація коду і алгоритмів в 1С
  9. 4.2 Використання виміру продуктивності
  10. 4.3 Інструменти рефакторінга коду
  11. схоже

У цій статті я роблю огляд основних заходів, які потрібно виконати для збільшення продуктивності 1С в клієнт-серверному варіанті роботи 1С:

  1. Збільшення апаратних потужностей.
  2. Налаштування сервера 1С: Підприємства
  3. Налаштування SQL сервера
  4. Оптимізація коду і алгоритмів в 1С.

1. Збільшення апаратних потужностей

Мінімальні вимоги, що пред'являються до комп'ютерів, представленим на сертифікацію в фірму «1С» для отримання логотипу «Сумісно! Система програм 1С: Підприємство »написані тут

Продуктивність сервера 1С: підприємство досить сильно залежить від частоти процесора, а для сервера бази даних характеристики комп'ютера повинні відповідати вимогам Microsoft SQL Server, PostgreSQL, IBM DB2, Oracle Database.

2. Налаштування сервера 1С: Підприємства

Інструкція по налаштуванню робочих серверів з Технологічної Платформою 1С: Підприємство можна подивитися на диску ІТС тут

У версії 8.3 було додано кілька нових параметрів у налаштуванні робочих серверів:

  • Максимальний обсяг пам'яті робочих процесів. Налаштування дозволяє регулювати обсяг пам'яті, який можуть зайняти всі робочі процеси даного кластера на даному робочому сервері.
  • Безпечний витрата пам'яті за один виклик. Налаштування дозволяє обмежити обсяг пам'яті, який буде зайнятий при виконанні серверного виклику на даному робочому сервері.
  • Кількість ІБ на процес і кількість з'єднань на процес. Дані настройки дозволяють побічно регулювати кількість робочих процесів на даному робочому сервері.
  • Менеджер під кожен сервіс. Налаштування дозволяє запустити кожен сервіс менеджера кластера як окремий процес.

3. Налаштування SQL сервера

Особливість настройки Microsoft Sql Server з цілю збільшення продуктивності можна подивитися на диску ІТС тут.

За допомогою Maintenance Plan в розділі Management необхідно виконувати для підвищення продуктивності наступні регламентні завдання:

  • Дефрагментацію індексів і оновлення статистики потрібно виробляти щодня, тому що якщо фрагментованість індексів> 25%, це різко знижує продуктивність сервера.
  • Дефрагментація і оновлення статистики - робиться швидко і не вимагає відключення користувачів. Також рекомендується робити щодня.
  • Повна реіндексація - робиться з блокуванням БД, рекомендується робити хоча б раз на тиждень. Природно, після повної переиндексации відразу ж робиться дефрагментація індексів і оновлення статистики.

3.1 Аналіз ступеня фрагментації індексів

Надмірна фрагментація індексів створює проблеми для великих операцій введення-виведення. віслюку виконанні інтенсивних операцій по модифікації даних в таблицях бази даних збільшується час виконання запитів і операцій по модифікації даних.

Це обумовлено тим, що при таких операціях відбувається модифікація індексів, що призводить до їх фрагментації і збільшення кількості операцій введення-виведення при використанні індексів в процесі виконання операцій читання і запису даних.

Для ефективності використання індексів Microsoft SQL Server потрібно

  • Регулярна переіндексація таблиць бази даних за допомогою команди DBCC DBREINDEX (table_name).
  • Регулярна дефрагментація індексів бази даних за допомогою команди DBCC INDEXDEFRAG (database_name, table_name, index_name).

Вибір способу вирішення цієї проблеми залежить від інтенсивності операцій по модифікації таблиць бази даних.

В MS SQL Server 2005 з'явилися нові засоби для контролю цього параметра.

Функція таблиці динамічного управління sys.dm_db_index_physical_stats повертає відсоток фрагментації в стовпці avg_fragmentation_in_percent. Якщо значення в цьому стовпці перевищує 25%, то для відновлення вихідних параметрів продуктивності рекомендується виконати дефрагментацію цього індексу. Від зниження фрагментації індексів можуть виграти операції сканування великих діапазонів даних, звичайні в додатках сховищ даних і звітів.

Використання цієї інформації може істотно знизити навантаження на систему і уникнути непотрібних операцій по дефрагментації тих індексів, для яких вона не потрібна.

3.2 Використання фізичної пам'яті розміром більше 2 ГБ в Microsoft SQL Server

Microsoft SQL Server 2000 Standard Edition і Microsoft SQL Server 2005 Workgroup Edition можуть використовувати до 2 ГБ фізичної пам'яті, яка динамічно розподіляється і звільняється в залежності від робочого навантаження. При збільшенні обсягів бази даних цього обсягу оперативної пам'яті стає недостатньо для ефективного кешування даних і підтримки продуктивності на прийнятному рівні.

3.3 Зменшення розміру журналу транзакцій Microsoft SQL Server

Виконання інтенсивних операцій по модифікації даних інформаційної бази призводить до збільшення розмірів файлів даних і журналу транзакцій. У якийсь момент часу старі записи журналу транзакцій стають не потрібними для відновлення бази даних і можуть бути видалені, звільняючи тим самим місце для нових записів. Якщо своєчасно не видаляти старі записи журналу транзакцій, то через деякий час файл журналу транзакцій може зайняти весь вільний дисковий простір і робота з базою даних стане неможливою.

Для зменшення розміру файлу журналу необхідно попередньо видалити неактивні записи журналу транзакцій за допомогою команди BACKUP LOG, а потім вже за допомогою команди DBCC SHRINKFILE зменшити розмір файлу журналу транзакцій.Последовательность команд, яку потрібно виконати в Query Analyzer, виглядає наступним чином:

BACKUP LOG Імя_Бази_Данних WITH TRUNCATE_ONLY

go

DBCC SHRINKFILE (Імя_Файла_Журнала_Транзакцій)

go

Більш докладний опис і рекомендації по використанню цих команд можна знайти в документації по Microsoft SQL Server.

3.4 Переміщення бази даних TEMPDB на інший диск більшого розміру.

TEMPDB є системну базу даних Microsoft SQL Server, в якій зберігаються тимчасові таблиці, створені як самим сервером, так і користувачами. Ця база даних створюється заново при кожному перезапуску Microsoft SQL Server. За замовчуванням розмір цієї бази даних необмежений і збільшення його здійснюється при необхідності автоматично, порціями по 10% від поточного розміру TEMPDB. Однак ці параметри можуть бути перевизначені користувачем. За замовчуванням, мінімальний розмір цієї бази даних, який встановлюється при старті Microsoft SQL Server, визначається розміром системної бази даних MODEL. Очищення журналу транзакцій в цій базі даних проводиться автоматично, при цьому віддаляються тільки неактивні записи журналу транзакцій.

При роботі 1С: Підприємство 8 в режимі клієнт-сервер широко використовуються тимчасові таблиці. Крім того, TEMPDB використовується Microsoft SQL Server при виконанні запитів, що використовують оператори GROUP BY, UNION, DISTINCT і т.п.

В процесі роботи 1С: Підприємство 8 можливе значне збільшення розміру бази даних TEMPDB. Якщо розмір диска, на якому розташована база даних TEMPDB, виявиться недостатнім, робота 1С: Підприємство 8 може завершитися аварійно.

Якщо ця проблема проявляється регулярно, то рекомендується перемістити TEMPDB на інший диск більшого розміру.

Цю операцію можна виконати в такий спосіб:

1. визначити логічні імена файлів бази даних TEMPDB (колонка "NAME" результату виконання процедури). Для цього потрібно в Query Analyzer виконати наступну команду:

USE tempdb GO EXEC sp_helpfile GO 2.ізменіть розташування файлів бази даних TEMPDB за допомогою команди ALTER DATABASE. Для цього потрібно в Query Analyzer виконати наступну послідовність команд: USE master GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'Новий_Діск: \ Новий_Каталог \ tempdb.mdf') GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'Новий_Діск: \ Новий_Каталог \ templog.ldf ') GO 3. Запустити знову Microsoft SQL Server.

Більш докладний опис і рекомендації по використанню цих команд можна знайти в документації по Microsoft SQL Server.

4. Оптимізація коду і алгоритмів в 1С

4.1 Оптимізація запитів

Значна частина проблем, що призводять до неоптимальною роботі запитів, може бути виявлена ​​шляхом аналізу коду конфігурації і структури метаданих. Є перелік типових помилок в коді і структурі даних, наслідки яких досить добре вивчені і легко передбачувані. Аналіз коду з використанням цього переліку дозволяє вирішити більшу частину проблем з продуктивністю запитів, не заглиблюючись в детальну технічну інформацію (текст запиту на мові SQL, план запиту і т.д.).

Основні причини неоптимальною роботи запитів, діагностуються на рівні коду конфігурації і структури метаданих розглядаються на диску ІТС тут :

  • з'єднання з підзапитах
  • з'єднання з віртуальними таблицями
  • невідповідність індексів і умов запиту
  • використання логічного АБО в умовах
  • використання підзапитів в умови з'єднання
  • отримання даних через точку від полів складеного типу
  • фільтрація віртуальних таблиць без використання параметрів

4.2 Використання виміру продуктивності

1С: Підприємство 8 дозволяє налагоджувати і вимірювати продуктивність для коду на вбудованій мові, що виконується як на клієнті, так і на сервері. Особливістю роботи виміру продуктивності для клієнт-серверної інформаційної бази в 1С: Підприємство 8 є те, що результати виміру продуктивності об'єднуються в один файл. Вони включають в себе дані про хід виконання коду на вбудованій мові як на клієнті, так і на сервері. Для отримання такого виміру досить запустити сервер 1С: Підприємства 8 в отладочном режимі (за допомогою ключа командного рядка / debug) і в Конфігураторі в потрібний момент просто включити режим виміру продуктивності.

Режим вимірювання продуктивності в 1С: Підприємство 8 дозволяє успішно проводити оптимізацію роботи клієнт-серверних додатків. Для виконання такої оптимізації досить виконати всього кілька дій, після чого проаналізувати результати виміру продуктивності і перейти до поліпшення коду на вбудованій мові.

Більш докладніше про використання виміру продуктивності можна подивитися на диску ІТС тут .

Перед початком робіт по оптимізації системи необхідно завжди отримувати початкову оцінку продуктивності за допомогою "Оцінки інтегральної продуктивності системи за методикою APDEX" .

4.3 Інструменти рефакторінга коду

Функції рефакторінга коду, реалізовані в конфігураторі платформи 8.3.5, 1068. а також функції автоматичного перетворення модальних методів і ділянок коду показані на рис 1.

а також функції автоматичного перетворення модальних методів і ділянок коду показані на рис 1

Рис 1 Інструменти рефакторінга коду в конфігураторі

Більш докладний про роботу з інструментами рефакторинга можна подивитися на сайті розробників http://v8.1c.ru/o7/201312ref/

Необхідність цих інструментів розробники платформи пояснюють тим, що код прикладних рішень повинен бути зрозумілим, особливо коли над конфігурацією працює група з декількох розробників. Тоді програмний код легко підтримувати і модифікувати.

схоже

Автор публікації

Коментарі: 10 Публікації: 423 Реєстрація: 25-12-2016

Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.