Тестирование SQL проблем
текст скрипта
Раскрытие тайны задержек SQL Server
ОПИСАНИЕ ТИПОВ ЗАДЕРЖЕК
---------------------------
Т.е. например разделили ДВА сервера по Gigabit Ethernet:
1)видим картину нет загрузки сети больше 20% ))) - и системный администратор делает вывод что сети вполне хватает
НО ОН ОШИБАЕТСЯ))
т.к. на самом мелкие пакеты и реальная скорость обмена 250 Мегабит/с то в принципе фиг загрузим сеть под 100%
А если весь обмен идет по ОДНОМУ ПОРТУ то ВСЕ становится в очередь и будь у вас хоть одновременно СОТНЯ ПОЛЬЗОВАТЕЛЕЙ все они будут внутри этих 250 Мегабит и в очереди.
2)т.к. возникает ЗАДЕРЖКА из пункта 1) то возникают ситуации когда
1С сервер ожидает пока придут данные Основные, притом подкидывая новые запросы на SQL уточняя Основные данные(Объекты внутри Объектов и т.п)
3) т.к. возникают ожидания как следствия из пунктов 1) и 2) - то СИСТЕМНЫЙ АДМИНИСТРАТОР видит:
- нет нагрузки на CPU
- нет нагрузки на диски
и делает вывод - система отлично сбалансирована и имеет значительный запас производительности
но почему-то тормозит 1С - значит корень в самой 1с ибо она Абсолютно кривая и порочная (есть конечно часть правды...в этом...но лишь часть правды))
В ИТОГЕ ОН ОШИБАЕТСЯ т.к. 1С и SQL как получилось имеют медленный канал для обмена ОНИ ПРОСТО ОЖИДАЮТ ДРУГ ДРУГА и НЕ ГРУЗЯТ CPU и Диски
частично сэмулировать данную проблему можно следующим образом
1)берем Файловую 1С с объемом базы побольше
2)берем скоростной комп - но с Объемом оперативки небольшим (чтобы Кэшировалось поменьше)
3)берем какой-нибудь накопитель со скоростью Чтениние/Запись не больше 30 Мегабайт/с (250 Мегабит/с)
ставим замеры скорости проведения документов))
потом
4)берем какой-нибудь накопитель со скоростью Чтениние/Запись 500 Мегабайт/с
ставим замеры скорости проведения документов))
и все увидите))
Есть Иной способ решения Связки "1С" с "MS-SQL" это перенести ВСЮ ЛОГИКУ на сам MS SQL,
т.е. практически не использовать программирование на языке 1С,
а писать встроенные процедуры в SQL и Использовать от 1с только внешний вид на клиентах)).
Таки этот путь ОЧЧЧЕНЬ сложен в реализации и это уже будет не 1С)).
И только такой путь может СНЯТЬ СИЛЬНУЮ зависимость от коммуникационной среды передачи данных. ИМХО вся бизнес логика будет крутится внутри самого SQL.
Но это не мой путь, затраты+время на разработку + поддержка = "не стоит игра свеч".
(Далее...)
---------------------------
О скорости работы 1с 8.х или как Выбрать сервер для 1С 8.х
---------------------------
Медленно работает 1С по сети с базой на SQL Server.
Одно из решений — правильно настроить сетевые протоколы для взаимодействия с SQL Server.
http://www.1csql.ru/materials/faq/admin.html
Для такой настройки ODBC должен быть версии не ниже 3.5
С помощью утилиты Client Network Utility (CLICONFG.EXE) (Program — Microsoft SQL Server — Client Network Utility) необходимо настроить протокол общения с SQL сервером. По умолчанию «Default network library» установлен в «Named Pipes», надо установить в «TCP/IP» и добавить строку в Server alias configuration. Где, соответственно, указать псевдоним, имя сервера, протокол TCP/IP, порт (можно оставить без изменений, если на сервере порт не был изменен). Вот пример настройки:
1 — пример настройки протоколов, 2 — ставить необходимо когда клиент и SQL Server находятся физически на одном компьютере, в єтом случае обмен идет не по сетвевым ресурсам, а через память.
(Далее...)
---------------------------
Настройка сервера 1С и MS SQL Server (gilev.ru)
---------------------------
Совмещение ролей сервера 1С + MS SQL Server (gilev.ru)
---------------------------
Проектирование сервера под 1С
текст скрипта
Раскрытие тайны задержек SQL Server
ОПИСАНИЕ ТИПОВ ЗАДЕРЖЕК
---------------------------
Т.е. например разделили ДВА сервера по Gigabit Ethernet:
1)видим картину нет загрузки сети больше 20% ))) - и системный администратор делает вывод что сети вполне хватает
НО ОН ОШИБАЕТСЯ))
т.к. на самом мелкие пакеты и реальная скорость обмена 250 Мегабит/с то в принципе фиг загрузим сеть под 100%
А если весь обмен идет по ОДНОМУ ПОРТУ то ВСЕ становится в очередь и будь у вас хоть одновременно СОТНЯ ПОЛЬЗОВАТЕЛЕЙ все они будут внутри этих 250 Мегабит и в очереди.
2)т.к. возникает ЗАДЕРЖКА из пункта 1) то возникают ситуации когда
1С сервер ожидает пока придут данные Основные, притом подкидывая новые запросы на SQL уточняя Основные данные(Объекты внутри Объектов и т.п)
3) т.к. возникают ожидания как следствия из пунктов 1) и 2) - то СИСТЕМНЫЙ АДМИНИСТРАТОР видит:
- нет нагрузки на CPU
- нет нагрузки на диски
и делает вывод - система отлично сбалансирована и имеет значительный запас производительности
но почему-то тормозит 1С - значит корень в самой 1с ибо она Абсолютно кривая и порочная (есть конечно часть правды...в этом...но лишь часть правды))
В ИТОГЕ ОН ОШИБАЕТСЯ т.к. 1С и SQL как получилось имеют медленный канал для обмена ОНИ ПРОСТО ОЖИДАЮТ ДРУГ ДРУГА и НЕ ГРУЗЯТ CPU и Диски
частично сэмулировать данную проблему можно следующим образом
1)берем Файловую 1С с объемом базы побольше
2)берем скоростной комп - но с Объемом оперативки небольшим (чтобы Кэшировалось поменьше)
3)берем какой-нибудь накопитель со скоростью Чтениние/Запись не больше 30 Мегабайт/с (250 Мегабит/с)
ставим замеры скорости проведения документов))
потом
4)берем какой-нибудь накопитель со скоростью Чтениние/Запись 500 Мегабайт/с
ставим замеры скорости проведения документов))
и все увидите))
Есть Иной способ решения Связки "1С" с "MS-SQL" это перенести ВСЮ ЛОГИКУ на сам MS SQL,
т.е. практически не использовать программирование на языке 1С,
а писать встроенные процедуры в SQL и Использовать от 1с только внешний вид на клиентах)).
Таки этот путь ОЧЧЧЕНЬ сложен в реализации и это уже будет не 1С)).
И только такой путь может СНЯТЬ СИЛЬНУЮ зависимость от коммуникационной среды передачи данных. ИМХО вся бизнес логика будет крутится внутри самого SQL.
Но это не мой путь, затраты+время на разработку + поддержка = "не стоит игра свеч".
(Далее...)
---------------------------
О скорости работы 1с 8.х или как Выбрать сервер для 1С 8.х
---------------------------
Медленно работает 1С по сети с базой на SQL Server.
Одно из решений — правильно настроить сетевые протоколы для взаимодействия с SQL Server.
http://www.1csql.ru/materials/faq/admin.html
Для такой настройки ODBC должен быть версии не ниже 3.5
С помощью утилиты Client Network Utility (CLICONFG.EXE) (Program — Microsoft SQL Server — Client Network Utility) необходимо настроить протокол общения с SQL сервером. По умолчанию «Default network library» установлен в «Named Pipes», надо установить в «TCP/IP» и добавить строку в Server alias configuration. Где, соответственно, указать псевдоним, имя сервера, протокол TCP/IP, порт (можно оставить без изменений, если на сервере порт не был изменен). Вот пример настройки:
1 — пример настройки протоколов, 2 — ставить необходимо когда клиент и SQL Server находятся физически на одном компьютере, в єтом случае обмен идет не по сетвевым ресурсам, а через память.
(Далее...)
---------------------------
Настройка сервера 1С и MS SQL Server (gilev.ru)
---------------------------
Совмещение ролей сервера 1С + MS SQL Server (gilev.ru)
---------------------------
Проектирование сервера под 1С
Комментариев нет:
Отправить комментарий