Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Блин. Первый раз на такое наталкиваюсь. Есть сервер под FreeBSD, на котором стоит PostgreSQL 7.4 (уже года 3 стоит), есть небольшая база на нем, юзеры ее юзают те же 3 года - клиенты на Windows, доступ по ODBC. И вот, в какой-то момент, начали жаловаться на скорость. Посмотрел на explain основных запросов - все в порядке, индексы используются, в планах выполнения больше 30 мс времени нет. Ну - вакуум сделал ... Записей на клиент возвращается немного (50 - 200 - ну 600 -максимум, если за квартал списки открывают). И при этом данные по odbc "едут" жутко медленно. 600 записей (это 120 Кбайт) - 30 секунд. Проверил скорость обмена с сервером - по ftp скорость 1.5 МБайт в секунду. Проверил локально, через psql - данные возвращаются мгновенно. В чем может быть трабл ? Куда смотреть ? Админ местный говорит, что ничего на FreeBSD давно не меняли. Я пошарил там - ничего "такого" не нашел. Причем, причина явно на сервере - 3 клиентских компа под WinXP + терминальный сервер под Win2003 - с одинаковым драйвером odbc (ставились давно) - тормоза одинаковые. Odbc клиент, для чистоты эксперимента, простая консолька SqlWorks. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 12:39 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
strizh Админ местный говорит, что ничего на FreeBSD давно не меняли. Я пошарил там - ничего "такого" не нашел. Причем, причина явно на сервере - 3 клиентских компа под WinXP + терминальный сервер под Win2003 - с одинаковым драйвером odbc (ставились давно) - тормоза одинаковые. Odbc клиент, для чистоты эксперимента, простая консолька SqlWorks. На всякий пожарный, гляньте на клиентах настройки логгирования ODBC (commlog, mylog). Ну так, для очистки совести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 13:38 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
strizh Админ местный говорит, что ничего на FreeBSD давно не меняли. Я пошарил там - ничего "такого" не нашел. Причем, причина явно на сервере - 3 клиентских компа под WinXP + терминальный сервер под Win2003 - с одинаковым драйвером odbc (ставились давно) - тормоза одинаковые. Odbc клиент, для чистоты эксперимента, простая консолька SqlWorks. Ради эксперемента поставить самый свежий ODBC драйвер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 14:12 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Еще мисл: в psql-ной консольке с клиента всё ОК со скоростью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2008, 14:13 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
>На всякий пожарный, гляньте на клиентах настройки логгирования ODBC (commlog, mylog). Ну >так, для очистки совести. Все логи отключены. Их включение еще чуток замедляет скорость. >Ради эксперемента поставить самый свежий ODBC драйвер? Самый свежий odbc-драйвер смогу поставить только в понедельник, когда попаду в офис к клиенту - на терминалке у меня прав нету, а наружу сервер с постгресом не торчит. >Еще мисл: в psql-ной консольке с клиента всё ОК со скоростью? Аналогично, PGAdmin 3 смогу поставить только изнутри сети клиента. Проверю этот вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2008, 00:50 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Установил на одном из клиентов PGAdmin3. Через него любая работа с базой идет мгновенно, что селекты, что просмотр таблиц в полноэкранном режиме, что работа со структурами ... - короче - все ОК. Установил ODBC-драйвер 8-й версии (один из последних). Тормоза остались, скорость возвращения 600 записей - 25 секунд вместо 30. Пробовал играться с параметром cache size драйвера - результата нет. Коллеги ! Что предпринять еще ? Подозрение, что какой-то нюхачь ODBC-протокола на сервере установлен. Может такое быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 11:08 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
strizhУстановил на одном из клиентов PGAdmin3. Через него любая работа с базой идет мгновенно, что селекты, что просмотр таблиц в полноэкранном режиме, что работа со структурами ... - короче - все ОК. Установил ODBC-драйвер 8-й версии (один из последних). Тормоза остались, скорость возвращения 600 записей - 25 секунд вместо 30. Пробовал играться с параметром cache size драйвера - результата нет. Коллеги ! Что предпринять еще ? Подозрение, что какой-то нюхачь ODBC-протокола на сервере установлен. Может такое быть ? А если включить логирование запросов на сервере? Может что-то еще вылезет. Или включить логи ODBC драйвера, посмотреть есть ли что-то интерестное в них. Вроде там какие-то времена пишутся. ЗЫ Нюхач на ODBC протокол больше смахивает на хитрую диверсию направленную против Вашей программы. Тут уже сложнее... я бы в таком случае попробовал другой сервак (заведомо "чистый", на котором развернуть дамп БД и попробовать поработать с ним. Если тормоза останутся - значит не в серваке дело, если исчезнут - копать Фрю. ЗЗЫ Еще неплохо взять ноут и проверить на нём клиента, что бы не комп из их корпоративной сети, может они на клиентов по AD распространяют вредоносный софт . Таким могут быть например A-vir или Firewall, которые "шибко умные". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 11:22 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
>Или включить логи ODBC драйвера, посмотреть есть ли что-то интерестное в них. Вроде там >какие-то времена пишутся. Не - времен там нет. Включаешь mylog, делаешь view в far на этот файл, пускаешь запрос - и так это неспешно к файлу данные добавляются, как будто по dial-up-соединению едут. >Нюхач на ODBC протокол больше смахивает на хитрую диверсию направленную против Вашей >программы. Из пушки по воробьям. Проверял вывод netstat на клиенте и на сервере - на порту 5432 никого, кроме собственно соединения, нет. > Тут уже сложнее... я бы в таком случае попробовал другой сервак (заведомо "чистый", на >котором развернуть дамп БД и попробовать поработать с ним. Развернул копию на другом сервере - все в порядке, понятное дело, со скоростью. Насчет ноута в их сети - спасибо за идею, проверю еще и так :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2008, 17:46 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Проверил своим ноутом в их сети. ODBC работает, как и ожидал, быстро. Еще выяснилось, что часть клиентских компов у них не входят в домен AD, однако скорость ODBC маленькая у всех. Firewall установлен только для внешнего шлюза всей сети, на клиентских компах firewall нет. QoS не используется. Что еще смотреть ? Может ли быть дело в апгрейде 1С 8.1, который они проводили на всех своих компах ? Может такое быть, что 1С меняет какие-нито либы, отвечающие за ODBC ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2008, 09:56 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Косил на библиотеки odbc (c:\windows\system32\*odbc*.dll). Сделал 3 эксперимента. 1) На "тормозной" системе создал DSN к Visual Foxpro, попробовал читать селектом локально лежащий файл dbf. Тормоза наблюдаются такие-же дикие. Т.е. не в сети и не в сервере с Посгресом под FreeBSD дело, а в клиентской подсистеме ODBC. 2) Сравнил версии файлов c:\windows\system32\*odbc*.dll на 2 системах в их сети - "тормозной" и нормальной - оказались одинаковые полностью. 3) У меня на рабочем компе версии библиотек c:\windows\system32\*odbc*.dll более старые, чем у них - попробовал себе заменить, по$#%^@я через консоль восстановления Windows, но таки заменил. Скорость как была высокой, так и осталась. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2008, 12:06 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
Перерыл весь реестр на "тормозной" системе на предмет численных параметров ODBC, ничего, что походило бы на настройку, влияющую на скорость, не нашел :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2008, 12:58 |
|
||
|
Откуда взялись тормоза при работе по ODBC ?
|
|||
|---|---|---|---|
|
#18+
strizhПроверил своим ноутом в их сети. ODBC работает, как и ожидал, быстро. Еще выяснилось, что часть клиентских компов у них не входят в домен AD, однако скорость ODBC маленькая у всех. Firewall установлен только для внешнего шлюза всей сети, на клиентских компах firewall нет. QoS не используется. Что еще смотреть ? Может ли быть дело в апгрейде 1С 8.1, который они проводили на всех своих компах ? Может такое быть, что 1С меняет какие-нито либы, отвечающие за ODBC ? Может быть. 1C научилась работать с PostgreSQL, может они что-то правят на клиенте? Может они что-то пишут "злое" в реестр, из-за чего ODBC становиться плохо. попробуёте найти Whats.new от патча 1С. Может там будут какие-то зацепки... ЗЫ Из "мазохизма": На свой ноут поставить 1С, потом патчи. Что меняется патчами отслеживать с помощью regmon и filemon. будет много, но может какие-то зацепки получить удасться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2008, 14:15 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35590768&tid=2003968]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 366ms |

| 0 / 0 |
