有个网站项目运行时间很久了,上传的文件和生成的静态页面越来越多,最近修改某些功能后,启动was时发现老是超时或者启动时间特别长,发现主要是在was启动时,扫描加载庞大的静态文件导致的,笨办法就是:1 启动前,手动将大文件剪切到其他目录,然后等was启动完毕后,再讲大文件剪切回来。2:通过写批处理命令代替手动剪切的操作。但这些都不是最优解决方案,后来网络组一位大牛周同学,建议使用windows提供的soft link方式来解决,这种softlink的方式是操作系统级别的,对于程序实现上传下载是不敏感,同时也通过测试,现将大概解决思路整理分享:
解决方式就是使用 windows 提供的软链接(soft link)。linux下使用md ,sevice 和mount来实现。
环境:widows系统,必须支持soft link
基本思路:
1:将was项目中的大的静态文件夹或者大文件夹和其他盘符或分区的文件夹通过softlink做个对应的软链接。
2:启动was前,先通过rd /S /Q “link目录” 删除软链接目录。
3:再启动was服务。eg net start "IBMWAS70Service - yjb11Node01"
4:was服务启动后,再次创建link目录和target目录的softlink。
完整脚本如下(可以将此脚本做成任务计划):
rd /S /Q "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\control"
rd /S /Q "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\html"
rd /S /Q "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\topics"
rd /S /Q "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\upload"
rd /S /Q "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\uploadfile"
net start "IBMWAS70Service - yjb11Node01"
mklink /J "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\control" "D:\wasfiles\control"
mklink /J "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\html" "D:\wasfiles\html"
mklink /J "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\topics" "D:\wasfiles\topics"
mklink /J "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\upload" "D:\wasfiles\upload"
mklink /J "D:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\yjb11Node01Cell\sem_v1_0_war.ear\sem_v1.0.war\uploadfile" "D:\wasfiles\uploadfile"