Перейти к публикации

Быстрый PDM


bdv1983

Рекомендованные сообщения

Здравствуйте.

 

Пользователи жалуются на долгое выполнение практически всех операций в SWE-PDM. Особенно регистрацию и разрегистрацию файлов. В пустом хранилище все действия выполняются быстро. Что можно сделать для ускорения работы PDM?

Ссылка на сообщение
Поделиться на других сайтах


Разрегистрация проходит быстро, а вот регистрация зависит от объёма сборки, идёт проверка статуса всех файлов (чертежей в том числе). Ваш вопрос "пуст", не содержит никакой конкретики про компьютер на котором установлен сервер (какие задачи кроме серверных он выполняет, ресурсы компа и прочее). По своему опыту могу сказать. Как только на серверной машине начинает заканчиваться свободное место, сразу начинаются "тормоза" в работе "клиентов".

Ссылка на сообщение
Поделиться на других сайтах

Судя по 

практически всех операций

затык в скорости сетки.

У нас сейчас некоторые файлы просто лежат на серваке (свои библиотеки компонентов) да и то подгружаются ооочень медленно.

Ссылка на сообщение
Поделиться на других сайтах

А судя по

В пустом хранилище все действия выполняются быстро


Косяк в СУБД.
Проверьте параметр максимального количество сессий в инстансе и сопоставьте с фактической ситуацией. 
Ссылка на сообщение
Поделиться на других сайтах

 

А судя по

 

 

В пустом хранилище все действия выполняются быстро

Косяк в СУБД.

Проверьте параметр максимального количество сессий в инстансе и сопоставьте с фактической ситуацией. 

 

Вот и я так думаю. А где смотреть этот параметр - максимальное количество сессий?

Ссылка на сообщение
Поделиться на других сайтах

В Оракле это делается элементарным запросом (если вам нужно вывалить перечень всех сессий, уберите count):

select count(*) from v$session

Если у Вас база крутится на MS SQL - с ходу ответить не смогу. Нужно покопаться.

UPD. Упс, сорри, плавит мозг в понедельник. Запрос выше показывает количество открытых сессий в данный момент времени. Значение максимального количества сессий смотрим запросом:

select name, value from v$parameter where name in ('sessions')
Ссылка на сообщение
Поделиться на других сайтах

В документации SWE-PDM черным по белому написано, что в качестве СУБД должен использоваться SQL сервер. Соответственно и в моей организации MS SQL 2008.

Ссылка на сообщение
Поделиться на других сайтах
В документации SWE-PDM черным по белому написано, что в качестве СУБД должен использоваться SQL сервер.

Простите, документации по SWE-PDM нет, поэтому прочитать, что в ней написано черным по белому, не могу  :smile: 

Единственное отвлеченное замечание - PDM, которая функционирует на одной-единственной СУБД - зло (исключительно с точки зрения администратора).

Теперь давайте попробуем решить Вашу проблему.

Попробуем посмотреть на то, как изменится работа в системе после изменения параметра user connections. Вообще-то, если его не менять при развертывании экземпляра БД, то его значение равно 32 тысячам с каким-то хвостиком. Лично я всегда с большой опаской отношусь к тем параметрам, которые советуют "оставить по умолчанию" - скорее все, они выстрелят именно в тот момент, когда нагрузка на сервер превысит определенный предел. Хотя в MS SQL 2012 этот параметр авторасширяемый, таким должен быть и в 2008...

 

Начните с самого простого - запустите Management Studio, выберите нужную Вам базу данных, перейдите в свойства и найдите параметр "Максимальное количество соединений" (может называться по-другому, сервера MS SQL под рукой нет). Попробуйте немного увеличить параметр и проследите за ситуацией. Опять же - могу утверждать на все 100%, но вроде бы MS SQL выделяет память на каждое соединение, вне зависимости - используется оно или нет.

 

Если не поможет - дайте время на подумать, будем действовать более решительно  :smile:

UPD. Коллега подсказал, что значение параметра "Максимальное количество соединений" в MS SQL 2008 по умолчанию устанавливается в ноль - т.е. их количество "неограниченно" (как раз те самые 32 тысячи с хвостиком). Хорошо это или плохо - с кондачка сказать не могу. Чисто интуитивно - плохо, ибо если не ограничивать память, выделяемую под экземпляр БД, то "будит бида". Кстати, на сервере в диспетчере задач не смотрели на загрузку процессора и памяти в момент возникновения проблем?

 

Короче,

1) Узнаем количество подключений,

select count(*) from master..sysprocesses

2) Мысленно накидываем 10-15%, получившуюся цифру загоняем в параметры соединения.

3) Крестимся. Перезапускаем базу. А лучше сервер целиком. Смотрим на результат.

Ссылка на сообщение
Поделиться на других сайтах

В документации SWE-PDM черным по белому написано, что в качестве СУБД должен использоваться SQL сервер. Соответственно и в моей организации MS SQL 2008.

Если у Вас лицензия, то может стоит с supportом поработать, не насилуя систему по подсказкам наугад)

Ссылка на сообщение
Поделиться на других сайтах
Если у Вас лицензия, то может стоит с supportом поработать, не насилуя систему по подсказкам наугад)

Мысль здравая, но как показывает практика работы с десятком вендоров - качественный ответ на данный вопрос может быть получен лишь в том случае, если на стороне вендора есть квалифицированный DBA или программист со знаниями в прикладной области. В противном случае все сведется к тем же подсказкам и изнасилованиям системы  :smile:

 

Если у SWR такой спец есть, это просто здорово.

А вообще для таких случаев неплохо держать на предприятии админа, который умеет работать с СУБД хотя бы на базовом уровне.

Ссылка на сообщение
Поделиться на других сайтах

 

В документации SWE-PDM черным по белому написано, что в качестве СУБД должен использоваться SQL сервер. Соответственно и в моей организации MS SQL 2008.

Если у Вас лицензия, то может стоит с supportом поработать, не насилуя систему по подсказкам наугад)

 

В CRM задал вопрос еще в пятницу. До сих пор молчат.

Ссылка на сообщение
Поделиться на других сайтах

Ответили в CRM:

 

 

Добрый день.

Наиболее вероятная причина возникающих проблем недостаточная: производительность базы данных хранилища.
Уточните, пожалуйста:
1. Архивный сервер SWE-PDM и MS SQL Server расположены на одном сервере?
2. Какая конфигурация сервера (процессоры, оперативная память, массивы дисков, сеть) на котором расположен MS SQL Server?

Пришлите, пожалуйста:
1. Данные для поддержки с одного из клиентов, на котором наиболее часто возникают проблемы. В модуле Администрация SolidWorks Enterprise PDM подключитесь к хранилищу и выберите в контекстном меню Сбор данных о поддержке.
2. Проведите обновление статистики и пересчет индексов в базе данных по инструкции из вложения. Процедура перестроение индексов должна увеличить производительность базы данных. 

Попробую сперва их способ.

Ссылка на сообщение
Поделиться на других сайтах
Наиболее вероятная причина возникающих проблем недостаточная: производительность базы данных хранилища.
 

 

Капитан Очевидность таки нашел себе работу, можно теперь за него не беспокоиться :biggrin:

 

Вполне стандартные и логичные ответы для техподдержки.

 

А вот последний пункт пугает. Вообще-то перестраивать индексы (тем более во ВСЕЙ базе) рекомендуется в исключительных случаях, например когда откровенно криво работают отдельные запросы. И как это может повлиять на скорость работы бек-энда, мне тоже категорически неясно. Это, фактически та же припарка мертвому, как и сжатие базы в Access.

 

В любом случае, пожалуйста, отпишитесь по результатам - очень хочется знать, чем все же закончилось.

Ссылка на сообщение
Поделиться на других сайтах
   Настроили обновление статистики и пересчет индексов согласно инструкции из вложения CRM. Сегодня ночью первый раз действия должны были выполниться, но при работе в PDM никаких изменений незаметно.
   На данный момент ситуация следующая. При регистрации в основном хранилище виртуального документа размером 1 Кб выскакивает окно Регистрация файла. Регистрация длится около 40-60 секунд. Иногда окно один раз пропадает. В тестовой же базе сохранение и регистрация файлов происходят за доли секунд, даже не успеть засечь время.

 

UPD. Коллега подсказал, что значение параметра "Максимальное количество соединений" в MS SQL 2008 по умолчанию устанавливается в ноль - т.е. их количество "неограниченно" (как раз те самые 32 тысячи с хвостиком). Хорошо это или плохо - с кондачка сказать не могу. Чисто интуитивно - плохо, ибо если не ограничивать память, выделяемую под экземпляр БД, то "будит бида". Кстати, на сервере в диспетчере задач не смотрели на загрузку процессора и памяти в момент возникновения проблем?

 

Короче,

1) Узнаем количество подключений,

select count(*) from master..sysprocesses

2) Мысленно накидываем 10-15%, получившуюся цифру загоняем в параметры соединения.

3) Крестимся. Перезапускаем базу. А лучше сервер целиком. Смотрим на результат.

 

 

Максимальное количество соединений на сервере сейчас установлено в 0. Среднее количество подключений к БД = 250. Иногда подскакивает до 300.

Ссылка на сообщение
Поделиться на других сайтах

Для задачи перестроения индексов сбросил флаг "Сохранять индекс в режиме "в сети" в процессе переиндексирования" и задание успешно выполнилось. Однако, PDM по прежнему работает медленно.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Проблема по прежнему остается. Зато сегодня был строго отчитан представителем SolidWorks (через третье лицо, конечно) за перепечатку сообщений из CRM. Это они про единственное сообщение приведенное здесь.

Хочу обратиться по этому поводу к уважаемым из данной компании и милой Юле в частности. Займитесь наконец делом, а не болтайтесь по чужим форумам. Я завел здесь тему через двое суток после создания заявки в CRM. Если бы мне там ответили немного быстрее, а не через четыре дня, сюда бы и заходить не пришлось. Три недели как проблема сформулирована, а воз и ныне там. Учитесь работать. И исправьте ошибки в PDM, их слишком много, для такой солидной фирмы это позор. Начните с орфографических: "в течение", а не "в течении".

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

   Удалось добиться значительного улучшения быстродействия. Среднее время регистрации файла - 2 секунды, так же как и в создаваемом новом хранилище. Правда время от времени происходят зависания системы, но это уже другой вопрос.
   Сделал это специалист занимавшийся внедрением PDM до меня. По его словам, были "перестроены системные индексы согласно плана". Непонятно, конечно, что именно он сделал. Ведь обновление статистики и пересчет индексов в базе данных по инструкции из CRM были настроены мной еще в сентябре и согласно журналу исправно выполнялись.

   В общем, подводя итог проведенной работы, можно сделать вывод, что на улучшение быстродействия больше всего повлияли организация индексации БД и исключение встроенных приложений - DocId, например. Назначение DocId мне, кстати, в CRM так и не смогли объяснить. Хотя это программа компании SolidWorks Russia.
   Всем счастливого Нового года!

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • ДОБРЯК
      Вам похоже ничего не нужно, а для алгоритму Ланцоша нужно сделать численную факторизацию. Вам только нужно побольше букв и слов написать. :=) Всё подгорел пердак? :=)
    • Orchestra2603
      При чем здесь это? Речь не идет про эффективные или неэффективнеы алгоритмы. Вы утвержаете, что это просто невозможно.   При чем здесь первые или не первые, все или не все... Какое это имеет значение? У Ансис есть алгоритм Ланцоша, он находит столько, сколько запросите. В Маткаде - он да, находит все. Наверное, можно и не все, но я хз, как это делать. Я не понимаю, какое это имеет отношение к разговору.   Неа Ткните пальцем и объясните, в чем ошибка в конкретном рассуждении   Как я должен решать методом Гаусса задачу на собственные значения? Мне же не решения СЛАУ нужны! Их то, ясен пень, бесконечное множество для системы с вырожденной матрицей. Мне собственные значения нужны! Мне нужно базис найти, чтобы матрица (или матрицы в обобщенном случае) оператора была диагональной.   Сначала скажаите мне, зачем ее дать! В чем идея заключается? Вы все слюной брызжете, но ничего по делу еще не сказали. Какой-то нормальный контраргумент от вас можно толковый услышать?   Как еще изволите вас обслужить? Вы - полегче, уважаемый!
    • ДОБРЯК
      Вам нужно десять раз написать одно и тоже, чтобы вы поняли. Почитайте документацию к программе там же всё написано. Мне не сложно копировать...:=) Те алгоритмы которые вы используете находят все собственные числа и вектора. Для разреженных матриц это приводит к их заполняемости. Смекаете о чем я говорю. Или нужно еще разжевать? Во всех.   Решайте методом Гаусса. Матрица 2х2 в чем проблема сделать численную факторизацию любым методом? :=) Больше дела, меньше слов и букв...
    • mannul
      Скорость резания от 8 до 12 м/мин, подача 0,04 мм/зуб, глубина резания - 1,5 мм.
    • Orchestra2603
      " Стою на асфальте я, в лыжи обутый: То ли лыжи не едут, то ли я ..." (с)   1. Вы утверждаете, что для расчетов на СЗ и СВ в случае вырожденной матрицы жесткости нужно провести ее факторизацию. Без нее - никак! Непонятно, какую и зачем, но надо. Ок, допустим.  2. @Jesse,  я, @Fedor, да и вы сами показываете, что таки СЗ определяются для вырожденной матрицы. Значит, либо ваше утверждение про факторизацию неверно, либо она таки делается тихонько себе за кадром. 3. Еще одно наблюдение... Матлаб говорит, что он делает QZ разложение для матриц, у которых нет положительной определенности, т.е. для которых не работает разложение Холецкого. При этом опять же с собственные числа с одной вырожденной матрицей считаются нормально. Т.е. даже если вдруг и необходима такая факторизация (хотя я сомневаюсь, что вот прям обязательно она нужна), то делается она без особых трудностей.   В каком месте я неверно рассуждаю?   Так и не обязательно их записывать для расчета собственных колебаний. Ну... Можно конечно, но тогде некоторые частоты и формы, которые такой симметрией могут и не обладать, вы потеряете в расчете, поскольку введенные условия симметрии их исключат просто из модели.    
    • gudstartup
    • gudstartup
      у меня рободриллы и чпу и тем не менее picture нет наверно она к роботам относится
    • boomeeeer
      Если компания отечественная, то тоже нет смысла. Роботы, ЧПУ, лазеры и рободрилы
    • gudstartup
      это вряд ли если ось Y угловая а какая у вас редукция у вращающейся оправки? по 2мм нержавейки снимать это нелегкая задача для вашего маленького станочка
    • lem_on
      Посоветовал бы инструмент на ТС сменить. И диаметр уменьшить до 12 мм
×
×
  • Создать...