Программа тормозит на внутреннем диске.

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

Здравствуйте!
Столкнулся со странной, для меня, проблемой. Программа нормально работает на внешних дисках подключенных через USB, а на внутреннем сильно тормозит. Пробовал на разных компьютерах с WIN 10 и WIN 7. Тормозит, как я понимаю, при записи в файл TPS, цепляется в диск и, практически, не отпускает.. Даже на старой флэшке программа работает в 3 раза быстрее чем на внутреннем диске. А скорость работы на внутренних и внешних дисках отличается более чем на порядок. Внутренние диски компьютеров сконфигурированы в RAID1, Один из внешних дисков тоже RAID1, на нём работает нормально. Программа написана на CW8. С таким столкнулся впервые. Поможите, кто чем может! :)

kreator
✯ Ветеран ✯
Сообщения: 3846
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Программа тормозит на внутреннем диске.

Сообщение kreator »

У Вас разные компы и везде raid?
В принципе, информации мало. Можете поймать момент торможения? Ну, например, в момент записи блоба или что там. Попробуйте без рейда для начала.
We are hard at work… for you. :)

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

На обоих десктопах RAID 1, и есть медленный ноут с win 10 ,без RAID
Вот такой простенький код выполняется на внутренних дисках десктопов и в конце выдаёт такие числа 34 18 18
На внешних дисках подключённых к этим десктопам выдаёт 1 1 1, один из внешних дисков на одном десктопе тоже RAID 1
На внешнем диске подключённом к ноуту выдаёт 5 2 2, на внутреннем диске ноута выдаёт 25 13 13

r:MaxID = 2865
t1# = CLOCK()
CREATE(SCBridgeQueue)
OPEN(SCBridgeQueue, 42H)
STREAM(SCBridgeQueue)
SET(SCBridgeQueue)
r:r1 = 1
r:r2 = 0
t2#= CLOCK()
LOOP WHILE r:r1 <= r:MaxID ! 753 цикла
r:r2 = r:r1 + 4
SCBrQ:Value1 = r:r1
SCBrQ:Value2 = r:r2
ADD(SCBridgeQueue)
r:r1 += 5
r:r2 = r:r1 + 4
.
t3# = CLOCK()
CLOSE(SCBridgeQueue)
t4# = clock()
stop(t4#-T1# &' '& t4#-T2# &' '&t4#-T3#)

kreator
✯ Ветеран ✯
Сообщения: 3846
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Программа тормозит на внутреннем диске.

Сообщение kreator »

Моё мнение такое. Время на внутренних дисках реальное. А на внешних - это время посылки в некий буфер. Винда с usb так работает. Т.е. Вам кажется, что запись прошла, а реально ещё нет. Есть где-то в Винде настройка работы с usb-накопителями. Можно наверно выставить параметры так, что будет сравнимо со внутренними накопителями. Но врать не буду, хотите, ищите сами.
А реальная проблема есть? Или просто кажется, что добавление 753 записей в tps за 35 миллисекунд это непозволительно долго?
We are hard at work… for you. :)

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

Это просто поиск проблемы. В реальности на внешних накопителях программа считает 30 сек, а на внутреннем - это десяток минут. Есть разница

kreator
✯ Ветеран ✯
Сообщения: 3846
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Программа тормозит на внутреннем диске.

Сообщение kreator »

Считает - это означает запись? Я вот как сторонний наблюдатель. В секунду пишется 753*30=20000 записей. Если что-то у Вас расчёт идёт десять минут, то пишется 20000*600=12 млн записей!!! На мой взгляд, не там ищем.
We are hard at work… for you. :)

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

Нет, программа в основном считает и иногда пишет результаты расчёта в базу. Проблема в том, что на внешних дисках, и даже запущенная на старой медленной флешке, программа считает в несколько раз быстрее чем на внутреннем RAID 1 диске. (На системных SSD дисках считает быстро.) Если бы это было на одном компьютере, то можно было бы грешить на компьютер. Но такое происходит на разных компьютерах, с разными системами.

kreator
✯ Ветеран ✯
Сообщения: 3846
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Программа тормозит на внутреннем диске.

Сообщение kreator »

Ищите кусок, где тормозит. Может это как раз и озвученный мной случай. Вам просто кажется, что запись на флешку прошла, а реально она в буфере. Хотя цифры, которые Вы приводите (десяток минут), для меня дичь какая-то. Я бы начал с проверки записи. Чтение tps кажется не должно вызывать вопросов.
We are hard at work… for you. :)

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

У меня задача многопоточная, параллельные, можно сказать, вычисления. При полной загрузке 6 ядерного процессора будет делать один расчёт часа два. Приходится искать узкие места, и вот наткнулся на такое.

kreator
✯ Ветеран ✯
Сообщения: 3846
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Программа тормозит на внутреннем диске.

Сообщение kreator »

Не знаю, не знаю. Расскажите что за расчёт. И при чём здесь БД?
We are hard at work… for you. :)

Yufil
Ветеран движения
Сообщения: 1225
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Программа тормозит на внутреннем диске.

Сообщение Yufil »

Когда у меня такое - ищу, не включена ли где-то случайно трассировка базы данных ...

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

Грубо говоря - расчёт фактора вероятности затопления судна в повреждённом состоянии. А БД при том, что туда пишем промежуточные, да и конечные, результаты. БД - это сильно громко для моего случая, но хранить как-то надо :)

Nibirjanin
Новичок
Сообщения: 16
Зарегистрирован: 06 Апрель 2012, 19:10

Программа тормозит на внутреннем диске.

Сообщение Nibirjanin »

Два часа на 6 ядрах для такого расчёта - это вполне приемлемо. Самые крутые конкуренты считают не принципиально быстрее.

Ответить