Я поддерживаю некоторый устаревший код, работающий на 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 ...