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 响应缓冲 的相关文章

  • Chrome/Firefox 在后台发送两个 POST,间隔恰好 5 秒,仅调用一次来获取 Nodejs 8.0.0 服务器

    注意 这不是飞行前选项 也不是网站图标或其他类似内容 实际上是 2 个帖子 下面有一个屏幕截图可以更清楚地显示这一点 我的规格 版本 macOS 塞拉利昂版本 10 12 3 Chrome 版本 61 0 3128 0 官方版本 开发版 6
  • java ee - 使用 servlet 对用户进行身份验证

    我刚刚开始学习java 还没有接触过java ee 我需要使用 servlet 来验证用户身份 请提供示例代码和技术文献 谢谢你 创建一个接受用户名 密码的 html 表单 将这些数据发布到 servlet 在 doPost 中读取这些数据
  • 如何记录进入 IIS 的 HTTP 请求

    我在我的开发机器上运行 IIS 5 我有一个 asp net 3 5 Web 服务在其上运行 我从同一服务器上运行的不同 Web 应用程序调用该服务 我的服务返回错误 500 内部服务器错误 我正在对其进行故障排除 我的请求是通过Syste
  • 是否可以将请求标头添加到 CORS 预检请求中?

    我有一个从外部服务器 不是服务器 访问 API 的网站 为网站提供服务 通过简单的XmlHttpRequest 见下文 那个API 需要将用于访问服务的 API 密钥添加为请求标头 然而 正如这些CORS https developer m
  • 寻找 HttpServletResponseWrapper 的捕获实现

    JavaEE API 附带了 HttpServletResponseWrapper 引用 javadoc 的话 提供了 HttpServletResponse 接口的便捷实现 希望适应 Servlet 响应的开发人员可以对其进行子类化 如果
  • 如何在java中以编程方式访问网页

    有一个网页 我想从中检索某个字符串 为此 我需要登录 单击一些按钮 填充文本框 单击另一个按钮 然后就会出现字符串 我怎样才能编写一个java程序来自动执行此操作 是否有任何有用的库用于此目的 Thanks Try HtmlUnit htt
  • Go客户端程序生成大量TIME_WAIT状态的socket

    我有一个 Go 程序 它从多个 goroutine 生成大量 HTTP 请求 运行一段时间后 程序报错 connect cannot allocaterequestedaddress 当检查时netstat 我得到大量 28229 个连接T
  • 如何设置响应文件名而不强制“另存为”对话框

    我在某些响应中返回一个流 设置适当的content type标头 我正在寻找的行为是这样的 如果浏览器能够呈现给定内容类型的内容 那么它应该将其显示在浏览器窗口中 如果浏览器不知道如何呈现内容 那么它应该显示 另存为 对话框 其中文件名应该
  • WebSphere Camel JMS、spring、taskExecutor、haninging 线程

    我正在尝试将 Camel 与 WebSphere 集成 除了一件事之外 它工作得很好 场景如下 JMS WMQ gt 路由 转换 gt BEAN 执行 JPA OpenJPA1 2 DB2 提交 为了能够插入WAS事务管理器和mangaed
  • 在返回响应之前获取 servlet 请求的状态

    晚上好 我正在编写一个 Java Servlet Struts 2 Tomcat JSP 等 它能够进行一些相当复杂的模拟 这些可能最多需要 2 分钟才能完成 并将返回结果图表 计算模拟完成的百分比很简单 因为该过程是通过重复相同的计算数千
  • http和https在编程中有什么区别[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只知道 s 代表 安全 用户永远不
  • 用于缓存的 Servlet 过滤器

    我正在创建一个用于缓存的 servlet 过滤器 这个想法是将响应主体缓存到memcached 响应正文由以下方式生成 结果是一个字符串 response getWriter print result 我的问题是 由于响应正文将不加修改地放
  • 使用.pem文件在java中发送https请求

    我有包含证书 私钥和信任链的 pem 文件 以及我使用它生成的 p12 文件openssl pkcs12 导出 openssl pkcs12 export out file p12 in file pem inkey file pem pa
  • 为什么我在将数据上传到数据库时不断看到“正在重置断开的连接”?

    我正在通过 REST API 将数亿个项目从 Heroku 上的云服务器上传到 AWS EC2 中的数据库 我正在使用 Python 并且经常在日志中看到以下 INFO 日志消息 requests packages urllib3 conn
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • 使用 Angularjs,$http 在 Microsoft Edge 中发布返回响应错误

    好吧 当我开发一个管理页面进行测试时 Microsoft Edge 中出现了一个奇怪的问题 这是从loginCtrl js服务器获取响应的部分源代码 http method POST url Define apiUrl admin logi
  • Spring RestTemplate - 带有请求正文的http GET [重复]

    这个问题在这里已经有答案了 可能的重复 带请求正文的 HTTP GET https stackoverflow com questions 978061 http get with request body 我在这里读过一些不提倡通过 HT
  • 在 Tomcat 中触发内部 ServletRequest

    我正在使用 Quartz 来安排 Web 应用程序的后台任务 其中一些任务只是针对同一 Web 应用程序发出请求 我想避免依赖于任何类型的网络设置 例如 如果从数据中心内发出带有我自己域名的请求 则可能无法正确路由 是否有一个 Java A
  • AngularJS 1.X 中的异步调用是如何工作的? $Http 调用没有返回值

    我有以下名为的函数getvalue 它与控制器一起位于 AngularJS 模块内 我试图在单击事件上调用此函数 调用控制器中的另一个函数 我希望我很清楚 功能 function getvalue Data http var value u
  • 更新/编辑数据库中输入的数据 - servlet

    我准备了一个用于插入 查看和删除数据的表单 现在我想添加选项来编辑该数据 但要么我遵循错误的方法 要么我不知道如何做到这一点 那么任何人都可以帮助我继续编辑输入的数据吗 我应该参考旧的 html 页面进行编辑还是新页面或 我知道我没有遵循

随机推荐

  • 小程序大小(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 总是将整个输出流数据存储在一些内部内存缓冲区中 然后再将其提供给客户端 因此 我的服务器处理 生成数据