AIX平台上通过IBM HTTP Server下载大文件时失败
产品:WebSphere Application Server (以下简称WAS),IBM HTTP Server(以下简称IHS)
版本:WAS 5.0.2, IHS 1.3.26
平台:AIX
问题描述:
在AIX平台上,通过内嵌的web服务端口下载大文件没有问题,但是如果通过IBM HTTP Server下载大文件(>100MB)时,下载失败。通过检查http_plugin.log日志可以发现如下的错误信息:
ERROR: ESI: esiMalloc: malloc failure
ERROR: ws_common: websphereHandleRequest: Failed to handle request
解答:
在WAS 5.0.2以及以后的版本中系统默认会启动Edge Server Include(简称ESI)功能,ESI的主要作用是对静态的Web内容提供缓存功能。但是,这一功能会影响到大文件的下载。在AIX平台上,如果想要下载超过100MB的文件时必须屏蔽ESI的功能。具体的做法是:
1.使用文本编辑器打开plugin-cfg.xml文件找到如下的内容
2.将Property Name="ESIEnable" Value="true"中的"true"更改为“false”,因此更改完后因该是:
3.保存plugin-cfg.xml文件中的更改
4.重新启动IHS