Клиентские библиотеки Sybase 12.5 и 15.0: вставка в 10 раз медленнее при использовании 15.0 при вставке в 15,7 ASE - PullRequest
0 голосов
/ 16 марта 2020

Я поддерживаю некоторый устаревший код, работающий на RH Linux, который отправляет вставки по сети на клиентскую Sybase. Мы использовали библиотеки Sybase 12.5 и только что перешли на использование клиентских библиотек Sybase 15.0.

Мое приложение регистрирует время, когда оно отправляет вставку по сети, а также время, когда оно получает подтверждение от целевой Sybase , При использовании библиотек 12.5 время составляло ~ 5 мс, теперь с библиотеками 15,5 это примерно 50 мс.

Единственное изменение, которое я сделал на стороне приложения, - это указать расположение файла интерфейсов в команде линия. Ранее файл находился в расположении по умолчанию - месте установки Sybase. Теперь он находится там, где развернуто приложение, поэтому необходимо явно указать его местоположение.

Кто-нибудь может иметь представление о том, что вызывает изменение скорости dramati c, или есть подсказки о том, где я могу посмотреть или идеи о том, как отследить причину root?

Прошу прощения за отсутствие технических деталей. Я не администратор БД, но разработчик, использующий скомпилированную библиотеку для подключения к Sybase, и у меня нет доступа к мельчайшим внутренностям. При этом я использую одну и ту же внутреннюю библиотеку в обоих случаях, только библиотеки Sybase отличаются друг от друга.

Мои установки Sybase 12.5 и 15 выглядят так:

$ ls -l /opt/sybase/
total 48
-rw-r--r--  1 root root  555 Jul  2  2019 ASE150.csh
-rw-r--r--  1 root root  259 Jul  2  2019 ASE150.env
-rw-r--r--  1 root root  388 Jul  2  2019 ASE150.sh
drwxr-xr-x 10 root root 4096 Feb  2  2017 OCS-15_0
-rw-r--r--  1 root root  555 Jul  2  2019 SYBASE.csh
-rw-r--r--  1 root root  259 Jul  2  2019 SYBASE.env
-rw-r--r--  1 root root  388 Jul  2  2019 SYBASE.sh
drwxr-xr-x 58 root root 4096 Jul  2  2019 charsets
drwxr-xr-x  3 root root 4096 Jul  2  2019 collate
drwxr-xr-x  2 root root 4096 Nov 23 20:55 config
-rw-r--r--  1 root root 1239 Jul  2  2019 interfaces
drwxr-xr-x  5 root root 4096 Nov 23 20:55 locales
$ ls -l ~/12_5/sybase/
total 28
drwxrwxr-x  4 oadc oadc 4096 Nov 29  2017 OCS-12_5
drwxrwxr-x 58 oadc oadc 4096 Nov 29  2017 charsets
drwxrwxr-x  2 oadc oadc 4096 Mar 16 09:45 config
drwxrwxr-x  2 oadc oadc 4096 Mar 16 09:45 include
-r-xr-xr-x  1 oadc oadc 1184 Mar 16 09:45 interfaces
drwxrwxr-x  2 oadc oadc 4096 Mar 16 09:45 lib
drwxrwxr-x  5 oadc oadc 4096 Mar 16 09:45 locales

РЕДАКТИРОВАТЬ

После еще нескольких копаний похоже, что библиотеки в OCS-12-5 на самом деле не для 12_5, а для 15_5!

$ strings sybase / OCS-12_5lib / libsybct * .a | grep "Sybase Client-Library" Sybase Client-Library / 15.5 / P / DRV.15.5.0 / Linux x86_64 / Linux 2.6.9-55.ELsmp x86_64 / BUILD1550-003 / 64bit / OPT / Пн 5 октября 23:16:48 2009 Клиентская библиотека Sybase / 15.5 / P / DRV.15.5.0 / Linux x86_64 / Linux 2.6.9-55.ELsmp x86_64 Собственные потоки / BUILD1550-003 / 64bit / OPT / Вторник, октябрь 6 00:06:57 2009

Это означает, что мое предположение, что 12,5 быстрее 15,0, неверно. На самом деле происходит то, что 15,5 быстрее, чем 15,0. Что имеет больше смысла.

Я не собираюсь go выслеживать идиота, который отправил эти файлы в каталог, помеченный OCS-12-5 ...

1 Ответ

0 голосов
/ 17 марта 2020

После еще нескольких копаний похоже, что библиотеки в OCS-12-5 на самом деле не для 12_5, а для 15_5!

$ strings sybase / OCS-12_5lib / libsybct * .a | grep "Sybase Client-Library" Sybase Client-Library / 15.5 / P / DRV.15.5.0 / Linux x86_64 / Linux 2.6.9-55.ELsmp x86_64 / BUILD1550-003 / 64bit / OPT / Пн 5 октября 23:16:48 2009 Клиентская библиотека Sybase / 15.5 / P / DRV.15.5.0 / Linux x86_64 / Linux 2.6.9-55.ELsmp x86_64 Собственные потоки / BUILD1550-003 / 64bit / OPT / Вторник, октябрь 6 00:06:57 2009

Это означает, что мое предположение, что 12,5 быстрее 15,0, неверно. На самом деле происходит то, что 15,5 быстрее, чем 15,0. Что имеет больше смысла.

Я обновил вопрос этой новой информацией.

...