У меня есть приложение, которое использует JDBC для соединения с Oracle 11 г. К сожалению, машина, на которой мое приложение работает и машина Oracle, подключена через несколько низкое соединение пропускной способности. Я не осуществил сниффинг соединения, но я вполне уверен, потоковая передача данных через соединение не сжата. Для моего приложения я более обеспокоен пропускной способностью, чем задержка.
Там какой-либо путь состоит в том, чтобы сказать драйверу JDBC и Oracle сжимать данные, проходящие соединение? Google придумывает много ответов для сжатия файла данных, но я ничего не мог найти о сжатии сетевого протокола.
Я использую тонкий драйвер Oracle, но если это только поддерживается драйвером OCI, я мог бы переключиться на это. Спасибо за любые предложения!
Чтобы напрямую ответить на вопрос, драйверы (тонкие или OCI) не имеют такого механизма сжатия. А так как передаваемые данные, скорее всего, в каком-то фанковом бинарном формате, я не уверен, что они будут хорошо сжиматься по SSL. Потребуется использовать какой-нибудь другой механизм для улучшения производительности сети.
Я не знаю подробностей о тонких драйверах Oracle и OCI. Но вы можете использовать SSH туннели для достижения сжатия .
Настройте соединение на что-то подобное:
$ ssh -L1521:localhost:1521 username@oracleserver_ip
Затем, в вашем приложении, используйте localhost:1521 в качестве адреса Oracle.
.По моему опыту, высокая задержка вредит производительности при использовании драйверов Oracle JDBC гораздо больше, чем низкая пропускная способность. (по крайней мере, в приложении, над которым я работаю). Вы говорите, что не беспокоитесь по поводу латентности, но не могли бы вы дать оценку латентности вашей среды с низкой пропускной способностью?
Насколько велики объемы передаваемых данных? Есть ли BLOB-столбцы? Существуют ли другие технологии, например, пул соединений или Hibernate? Существует множество потенциальных факторов, не только в случае сжатия ваших данных.
Проводили ли вы эмуляцию WAN для того, чтобы попытаться изолировать то, что больше всего снижает производительность? WANem довольно легко настроить.
Я потратил недели на эту проблему, и 100-200мс задержка причинила нам гораздо больше вреда, чем ограничение полосы пропускания в 1Mbit. Надеюсь, вы находитесь в другой лодке - сжатие - более простая задача.