WebSphere 响应缓冲

2024-01-15

我正在向WebSphere 的response.getOutputStream() 编写一个大型响应(数百Mb)。 看起来,Web Sphere 总是将整个输出流数据存储在一些内部内存缓冲区中,然后再将其提供给客户端。因此,我的服务器处理(生成数据)在几秒钟内完成,而浏览器可能仍在下载半个小时。在此期间,整个响应仍缓冲在内存中。

是否可以避免这种缓冲? 我宁愿有更多的 servlet 线程等待输出流,也不愿浪费 Gb 的内存。

我的Web Sphere 版本是8.5.0。

我尝试过设置内容长度和分块响应 - 它都是一样的,仍在缓冲。 我的 TCP 传输链设置默认为 32 kb 响应缓冲区,但不知何故被忽略。


同时在WAS Web容器中找到了答案自定义属性 http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rweb_custom_props.html.

默认情况下,Web 容器使用异步写入以块形式写入响应数据,最多可达响应缓冲区大小。对于大于响应缓冲区大小的较大响应,Web 容器会继续将响应数据缓冲到内存中,同时等待响应数据块的异步写入完成。此过程可能会导致内存中保存大量响应,从而导致内存使用率较高,并可能导致内存不足错误。当服务器同时处理的请求多于 Web 容器定义的线程时,也可能会发生应用程序服务器挂起。

如果 com.ibm.ws.webcontainer.channelwritetype 属性设置为sync,则使用同步写入,否则默认情况下使用异步写入。使用同步写入时,响应数据将同步写入最大为responsebuffersize 值的块中,并且在等待响应数据块的同步写入完成时不会将任何响应数据缓冲到内存中。因此,内存中保存的响应数据的最大量大约等于响应缓冲区大小乘以 Web 容器线程数。 Web 容器可以同时处理的最大请求数受到 Web 容器线程数的限制。其他请求将排队,等待正在处理的请求完成。

responsebuffersize Web 容器自定义属性定义 Web 容器在单个块中写入的最大响应数据量,默认情况下为 32k。因此,它用于更改 Web 容器发送完整响应数据所需的写入次数。但是,如果应用程序刷新响应数据,则无论响应缓冲区大小如何,Web 容器保存的任何响应数据都会立即写入。

使用以下名称/值对通过同步写入来写入数据块。

com.ibm.ws.webcontainer.channelwritetype 异步

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebSphere 响应缓冲 的相关文章

  • HTTP 重定向图像可以吗?

    返回图片资源时返回301 302 303代码可以吗 我过去曾这样做过 而且似乎有效 这是好的做法吗 它与大多数浏览器兼容吗 是的 您可以重定向图像 浏览器将遵循重定向 但出于性能原因 您通常希望将重定向保持在最低限度 因为每个重定向都需要单
  • 在 Ubuntu 12.04 上的 Apache 上配置 SVN 服务器

    我正在尝试通过 HTTP 访问现有的 Subversion 服务器 我的dav svn conf文件看起来像
  • Angular4如何使用flatMap链接forkJoin

    我所处的情况是 我需要进行 5 个可以并行执行的 http 调用 在这五个调用之后需要执行另一个 http 调用 我在前 5 个中使用了 forkJoin 但我不知道如何链接 flatMap 或其他函数 forkJoin firstObse
  • 由于请求的资源上不存在“Access-Control-Allow-Origin”标头,无法获取与 Axios 的链接请求

    我正在尝试使用 cryptocompare api 来获取 axios 的 coindata 列表 但我不知道如何解决这个问题 我相信这是一个 CORS 问题 但我不确定 完整错误如下 加载失败https www cryptocompare
  • OkHttp如何获取Json字符串?

    Solution 这是我这边的一个错误 正确的方法是响应 body string 以外响应 body toString 我使用 Jetty servlet URL 是http 172 16 10 126 8789 test path jso
  • .NET 中有什么方法可以以编程方式侦听 HTTP 流量吗?

    我正在使用浏览器自动化来测试网站 但我需要验证来自浏览器的 HTTP 请求 即图像 外部脚本 XmlHttpRequest 对象 有没有一种方法可以以编程方式实例化代理以供浏览器使用以查看其发送的内容 我已经在使用 Fiddler 来监视流
  • HttpServletResponse sendRedirect 永久

    这将重定向一个请求暂时的302 HTTP 状态代码 HttpServletResponse response response sendRedirect http somewhere 但是是否可以用 a 来重定向它永恒的301 HTTP 状
  • SBT、Jetty 和 Servlet 3.0

    我有一个非常小的问题 我有以下 build sbt 文件 name Tueet libraryDependencies org eclipse jetty jetty webapp 8 1 2 v20120308 调用 sbt update
  • 在处理程序之后访问 HTTP 请求上下文

    在我的日志记录中间件 链中的第一个 中 我需要访问一些在链下游的某些身份验证中间件中编写的上下文 并且仅在处理程序本身执行之后 旁注 需要首先调用日志记录中间件 因为我需要记录请求的持续时间 包括在中间件中花费的时间 此外 当权限不足时 身
  • Websphere 6.1 到 7.0 JmqiObject 和 JmsQueue 丢失

    我正在尝试将应用程序从 Websphere 6 1 迁移到 7 0 我注意到许多 ibm MQ JMS 类已更改 消失 特别是 我收到错误 com ibm msg client jms JmsQueue com ibm mq jmqi Jm
  • 是否可以修改 $_SESSION 变量?

    恶意用户是否可以将 SESSION 在 php 中 变量设置为他想要的任何值 很大程度上取决于您的代码 有一点非常明显 SESSION username REQUEST username
  • 何时使用 doGet、doPost 和 service [重复]

    这个问题在这里已经有答案了 我想知道这些 servlet 方法 我对这些方法有所了解 比如 doPost对参数数量没有限制 同时doGet has doGet比doPost doPost安全于doGet 我的问题是 因为这些方法采用相同的参
  • 返回重定向作为对 Ajax(fetch、XHR 等)请求的响应

    如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果浏览器收到对 ajax 请求的重定向响应 会发生什么 如果服务器发送重定向 又名 302 响应加上 Location 标头 浏览器将自动遵循重定向 对此的回应second请求 假
  • 网站(Google 和/或您)应如何处理 Accept-Language 标头?

    很长一段时间以来 我对谷歌在以下情况下的行为并不满意 并且在无意中注意到之后80 其他人 https stackoverflow com questions 1011167 what are common ui misconceptions
  • 如何在 PHP 中使用 file_get_contents 获取图像的 MIME 类型

    我需要获取图像的 MIME 类型 但我只有图像的正文file get contents 是否有可能获取 MIME 类型 是的 你可以这样得到它 file info new finfo FILEINFO MIME TYPE mime type
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 如何使用jetty建立2路SSL认证连接

    我想使用 2 路 ssl 连接器创建一个 servlet 我创建test2wayssl jks并发起SSL 选择通道连接器当我从邮递员发送请求时客户证书 邮递员的回应是 连接 127 0 0 1 29226 2wayssl 时出错 下面是我
  • ExoPlayer2 - 如何使 HTTP 301 重定向工作?

    我开始使用 ExoPlayer 来传输一些音频 一切都很顺利 直到我遇到一个带有 301 永久移动 重定向的 URL ExoPlayer2 默认情况下不处理该问题 我已经看过这个线程 https github com google ExoP
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在

随机推荐

  • 小程序大小(15 兆字节)太重而无法加载?

    我想知道15兆的小程序加载是否很重 我的主要问题是两个声音文件 Au 其重量约为 9 兆字节 有人建议如何使用 mp3 或者其他减肥方法吗 Thanks 相关代码 public class DJ private ArrayList
  • ngx-mapbox-gl 弹出窗口内的按钮单击事件未触发

    我正在使用这个用于地图框的角度库来渲染地图ngx mapbox gl https github com Wykks ngx mapbox gl我在 mouseenter 事件上显示一个弹出窗口 mapInstance on mouseent
  • 按键组合 json 数组,javascript

    我需要组合由两个 REST 服务提供的两个 json 数组 具有相同 id 的条目属于在一起 json1 id 1 name aaa id 5 name ccc id 3 name bbb json2 id 3 parameter1 x p
  • 将所有 pyspark 数据帧列连接成一个字符串列

    我有以下 pyspark 数据框 identification p1 p2 p3 p4 1 1 0 0 1 2 0 1 1 0 3 0 0 0 1 我想连接从 p1 到 p4 的所有列 以这种方式收集 1 和 0 的值 identifica
  • 从 SpaCy 中删除跨度中的单词?

    我正在用 Spacy 解析一个句子 如下所示 import spacy nlp spacy load en span nlp This is some text 我想知道是否有一种方法可以删除跨度中的单词 同时仍然保留剩余单词的格式 如句子
  • 跨平台、基于交互式文本的界面,具有命令完成功能

    有谁知道有一个 C 库可以提供基于文本的交互界面吗 我想创建一个应用程序的两个版本 基于控制台的程序 它将执行命令行上或在控制台上交互给出的任何操作 以及基于 GUI 的程序 Mac Cocoa 和 Windows MFC 两个版本将共享一
  • 我可以通过浏览器更改查看页面源代码部分的大小或字体吗?

    有一个小问题可能会时不时地让我烦恼 不知道是否还有其他人有同样的感觉 每次我使用任何浏览器查看页面源代码时 文本总是变得又丑又小 我的计算机的分辨率是1920x1080 特别是17英寸 这使得字母非常小并且很难看清 有没有办法从任何浏览器更
  • 创建可在各种页面上使用的可重用模板

    在我的 Angular 5 应用程序中 我需要在每个 HTML 页面上执行此操作 span nbsp item createdTime date medium span 并在页面末尾创建该模板
  • 如何在Android中正确使用camera2中新的createCaptureSession()?

    已弃用的createCaptureSession 方法在旧代码中的使用方式如下 cameraDevice createCaptureSession Arrays asList surface new CameraCaptureSession
  • 如何从浮动中删除字符?

    我目前有一个数据框 如下所示 Idnumber Ownership Date 1 100 2006 2 gt 50 2006 1 80 2007 3 NaN 2006 所有权列当前的类型为浮点型 我想要的是在 idnumber 上创建一个
  • 在 Android 运行时更改主题颜色 [重复]

    这个问题在这里已经有答案了 如果在应用程序中添加多个主题 则可以更改主题颜色 并且可以在运行时轻松切换 另一种方法是逐一更改 actiobar textview 等所有对象的颜色 这条路很长 需要很多代码 我发现的简单方法是更改 color
  • 使用 VueJs 使用 props 初始化应用程序组件

    我将 Vue Js 与 Vue Cli 结合使用 我想根据 源 参数加载 CSS 文件 该参数将传递到我的主应用程序组件的启动 我想在索引文件中像这样初始化我的组件 主要 js import Vue from vue import App
  • SQL Server max 中“每行字节数”到底是什么意思?容量规格

    See 最大容量规格 https msdn microsoft com en us library ms143432 aspx 因此 每行字节数 旁边是 8060 但稍后 每个 ntext 或 nvarchar max 列的字符数 旁边是
  • 如何创建通用工厂?

    我正在开发一个 Webmethod 集合的客户端 Silverlight 接口 我试图避免为每个网络方法编写任何自定义代码 所以我创建了一个ServiceCall
  • HttpContext.Current.Response.AddHeader() 未设置 Content-Type 标头

    我正在使用第三方软件从 html 文档渲染 PDF 我创建了一个小型测试项目并使用OnClick事件的
  • Lerna 指定运行顺序

    在我的 monorepo 中 我有 3 个包package1 package2 package3 每个包都包含一个名为的 npm 脚本build 但是 这些包并未链接在一起 IE 没有require 在任何链接到同级包的包中 从根文件夹中
  • 旋转和裁剪 UIImage

    想象一下我有一个 UIImage 我需要旋转然后在全局坐标系 不是 UIImage 坐标系 中裁剪它 所以结果图像将被裁剪and旋转 我怎样才能做到这一点 CGImageCreateWithImageInRect 将仅在图像相对坐标中裁剪图
  • 调整 ListView 列以适应 WinForms

    我面临列表视图列的调整大小问题 如果你锚 对接listview转普通winform比listview锚点或对接效果好 我的意思是 当 winform 最大化时 listview 将调整大小并适合 winform 但您在其上设计的列不会随 l
  • 复制对象数组,然后修改原始对象而不影响副本

    所以我一直在为这个看似微不足道的问题而绞尽脑汁 我不一定知道要搜索什么 我已经四处寻找解决方案 我需要制作二维数组的副本 该数组由对象 我创建的一个称为 Cell 的类 组成 但是一旦我制作了副本 我就会将该副本存储到哈希映射中 以供稍后参
  • WebSphere 响应缓冲

    我正在向WebSphere 的response getOutputStream 编写一个大型响应 数百Mb 看起来 Web Sphere 总是将整个输出流数据存储在一些内部内存缓冲区中 然后再将其提供给客户端 因此 我的服务器处理 生成数据