Нестабильная работа HTTP и REST на клиент серверной базе.
Платформа 8.3.10.2580 64 бит, Конфигурация нестандартная. Клиент серверная, база PgSQL. Опубликован интерфейс OData и HTTP сервисы на IIS. Сделан анонимный вход по ссылке на сервис (через авторизацию ОС).
Сначала OData и HTTP работают штатно, запросы возвращают ожидаемые ответы. Но! После многократных запросов (например через браузер GET) появляется "Session request timeout expired" или "Истекло время ожидания сеанса" в русском варианте. Это сообщение появляется в браузере. Если запрашивать через "1С" через обработку, ответ аналогичный.
Победить можно только перезапуском сервиса "1С:Сервер". Убивание сеансов в консоли сервера и т.п. не помогает.
Подскажите пожалуйста куда копать.
Сначала OData и HTTP работают штатно, запросы возвращают ожидаемые ответы. Но! После многократных запросов (например через браузер GET) появляется "Session request timeout expired" или "Истекло время ожидания сеанса" в русском варианте. Это сообщение появляется в браузере. Если запрашивать через "1С" через обработку, ответ аналогичный.
Победить можно только перезапуском сервиса "1С:Сервер". Убивание сеансов в консоли сервера и т.п. не помогает.
Подскажите пожалуйста куда копать.
По теме из базы знаний
Найденные решения
1) попробуйте убрать в копии базы режим совместимости и попробывать нагрузить.
2) у ХТТП сервисов попробуйте поменять reuseSessions="autouse" на reuseSessions="dontuse", опять же копаем в сторону багов совместимости, эта фича вроде с 8.3.9 введена для повышения производительности.
3) Насколько тяжелый код у сервиса, который вы вызваете через GET запрос?
2) у ХТТП сервисов попробуйте поменять reuseSessions="autouse" на reuseSessions="dontuse", опять же копаем в сторону багов совместимости, эта фича вроде с 8.3.9 введена для повышения производительности.
3) Насколько тяжелый код у сервиса, который вы вызваете через GET запрос?
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
содержание vrd:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/DB_PG_83_1"
ib="Srvr="SERVERHPMAIN:1641";Ref="DB_PG_83_1";">
<debug enable="true"
protocol="tcp"
url="tcp://localhost"/>
<standardOdata enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<ws>
<point name="WebСервисСуппорт"
alias="ws_support.1cws"
enable="false"
reuseSessions="dontuse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<point name="FilesTransport"
alias="files_transport.1cws"
enable="true"
reuseSessions="dontuse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
</ws>
<httpServices>
<service name="Feedback"
rootUrl="feedback"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<service name="Авторизация"
rootUrl="autorization"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<service name="ПолучитьТаблицуСКД"
rootUrl="skdtable"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
</httpServices>
<pool size="10000"
maxAge="1200"
attempts="5"
attemptTimeout="1000"
waitTimeout="1000"
serverPingTimeout="15000"
serverPingPeriod="3000"/>
</point>
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/DB_PG_83_1"
ib="Srvr="SERVERHPMAIN:1641";Ref="DB_PG_83_1";">
<debug enable="true"
protocol="tcp"
url="tcp://localhost"/>
<standardOdata enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<ws>
<point name="WebСервисСуппорт"
alias="ws_support.1cws"
enable="false"
reuseSessions="dontuse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<point name="FilesTransport"
alias="files_transport.1cws"
enable="true"
reuseSessions="dontuse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
</ws>
<httpServices>
<service name="Feedback"
rootUrl="feedback"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<service name="Авторизация"
rootUrl="autorization"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
<service name="ПолучитьТаблицуСКД"
rootUrl="skdtable"
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="20"/>
</httpServices>
<pool size="10000"
maxAge="1200"
attempts="5"
attemptTimeout="1000"
waitTimeout="1000"
serverPingTimeout="15000"
serverPingPeriod="3000"/>
</point>
1) попробуйте убрать в копии базы режим совместимости и попробывать нагрузить.
2) у ХТТП сервисов попробуйте поменять reuseSessions="autouse" на reuseSessions="dontuse", опять же копаем в сторону багов совместимости, эта фича вроде с 8.3.9 введена для повышения производительности.
3) Насколько тяжелый код у сервиса, который вы вызваете через GET запрос?
2) у ХТТП сервисов попробуйте поменять reuseSessions="autouse" на reuseSessions="dontuse", опять же копаем в сторону багов совместимости, эта фича вроде с 8.3.9 введена для повышения производительности.
3) Насколько тяжелый код у сервиса, который вы вызваете через GET запрос?
(8) зачем увеличивать размер пула соединений?) У него косяк платформы, а менно не корректно работает переиспользование сеансов внешних соединений в режиме совместимости, оно как раз пытается использовать текущие соединени и не создавать новые -> количество соединений не возрастает.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот