- 浏览: 2610285 次
- 性别:
- 来自: 小胖儿的大城
文章分类
最新评论
-
ni4wangba0:
ni4wangba0 写道亲测,算法有问题。对不起,其实是我自 ...
谈谈"求线段交点"的几种算法(js实现,完整版) -
ni4wangba0:
亲测,算法有问题。
谈谈"求线段交点"的几种算法(js实现,完整版) -
kers007:
苹果不让Webapp 在appstore 里发布,我不知道对 ...
苹果真的要在 AppStore 里封杀 WebApp 吗? -
striveandlive:
fins = js大牛
[原创]GT-Template, 一个超轻量级的js模板工具. -
AlwaysYang:
基础扎实的才能行走天下。
关于body的"大小"在ie和ff下的一些基础知识
我们的大数据量查询是数据库分页的,
但是导出和打印功能是基于全部数据的.
系统投入使用后,对于导出和打印功能的使用远远要高于我们的预期.
而我们的系统的硬件设备是有限的 不能再升级了.
抓取内存大对象的时候,常常发现数百个5M以上的collection大对象
我们的这个系统不大,就是一个提供一些信息管理的,页面也不多(不到1000个 其中能有6 7百的页面是查询),但是并发访问量比较大,同时在线能有5000人,而并发的查询操作至少也有500了,其中大数据量(10万以上)的太多了.这个问题怎么办啊
哪位有好的解决办法 (不生成vo 和 vo的collection也许可以,但是这样改动太大了)
而且关键是 系统已经上线了, 不太可能重新开发所有的dao层 :'(
4G内存的机器(当然java只用了2g) websphere 6.0的机器
8w算什么啊 mysql绝对没问题,我这做测试都是上百万条单表
楼主说的没错。
以前我做过一个框架,
在这里就不再推广告叫lz去用了。
但可以谈一下我们怎么做cache,也许能(或缓解)lz的问题。
我们的cache是根据业务逻辑cache内容的。
例如,如果有个业务是list一个100万的表,
如果你cache所有的内容,机子内存肯定受不了,
如果不cache,每次到数据库去取,翻一页肯定很慢。
针对楼主的那些问题,我们一般有以下方案。
1, 如果list一个表,
可以用cache,我们的cache支持分段cache,就是说:
导用一句话,就是“cache on need”,而不是cache所有你“可能”要用到的数据。
2,对于那些一次导出所有的数据,我们提供resultHandle,它保存一个结果集的handle,可以重复和共享使用,不占内存。
3,我们提供search操作一次可以返回所以结果,可以不组装对象,速度等同于jdbc。
你可以在下面得到我们的框架:
http://sourceforge.net/projects/dbcoat
这种打印挺好的,其他方法比如jasperreport生成pdf打印,或者applet打印,但是我觉得js打印是最好的
好象不能控制范围吧,java控制的打印方式是什么呢?
单独开启一台服务器的方式 可以避免生成文件下载文件是对其他服务的影响 可以参考, 不过会增加企业的成本
ps:这种横向服务转纵向服务的方式可以解决很多webserver的问题
但是导出和打印功能是基于全部数据的.
系统投入使用后,对于导出和打印功能的使用远远要高于我们的预期.
而我们的系统的硬件设备是有限的 不能再升级了.
抓取内存大对象的时候,常常发现数百个5M以上的collection大对象
我们的这个系统不大,就是一个提供一些信息管理的,页面也不多(不到1000个 其中能有6 7百的页面是查询),但是并发访问量比较大,同时在线能有5000人,而并发的查询操作至少也有500了,其中大数据量(10万以上)的太多了.这个问题怎么办啊
哪位有好的解决办法 (不生成vo 和 vo的collection也许可以,但是这样改动太大了)
而且关键是 系统已经上线了, 不太可能重新开发所有的dao层 :'(
4G内存的机器(当然java只用了2g) websphere 6.0的机器
评论
62 楼
cydia
2011-09-01
huoyunzsy 写道
用的mysql 单表8w条数据 count(id)就吃不消了 咋办啊
8w算什么啊 mysql绝对没问题,我这做测试都是上百万条单表
61 楼
huoyunzsy
2007-10-19
用的mysql 单表8w条数据 count(id)就吃不消了 咋办啊
60 楼
liuwei2630
2007-07-12
我们3000多万条数据用的是预编译表,效率稍微好点
59 楼
leadyu
2007-07-12
可以考虑采用流的方式,打印时不是把数据一次性全取出,而是分页取,然后不断往流里面写,类似Http Server的做法。这样内存占用较低,写个自己的BufferInputStream
58 楼
lihy70
2007-05-25
fins 写道
其实这个问题的关键有3
1 导出/打印 都是全部数据,如果不把相关方法侵入到DAO里(我们没有用spring的jdbcTemplate),那么返回一个大的collection是必然的,此时会导致OOM.
2 导出使用的组件不管是 JXL也好POI也好,都会在内存中生成XSL文件的大对象,此时亦会导致OOM
3 这些操作常常是高并发,所以OOM产生的频率更是高的离谱
1 导出/打印 都是全部数据,如果不把相关方法侵入到DAO里(我们没有用spring的jdbcTemplate),那么返回一个大的collection是必然的,此时会导致OOM.
2 导出使用的组件不管是 JXL也好POI也好,都会在内存中生成XSL文件的大对象,此时亦会导致OOM
3 这些操作常常是高并发,所以OOM产生的频率更是高的离谱
fins 写道
不行的 因为查询的条件不一样,每个人权限不一样
为每一种查询对应的结果都缓存,情况太多了
其实目前对于我们这种情况,没有完美解
我发这个帖子的目的 就是想集思广益 看看 到底有哪些方案,
当别人遇到问题的时候,希望这个帖子 以及帖子里各位朋友的回复能够提供一点点帮助
谢谢楼上的回复
为每一种查询对应的结果都缓存,情况太多了
其实目前对于我们这种情况,没有完美解
我发这个帖子的目的 就是想集思广益 看看 到底有哪些方案,
当别人遇到问题的时候,希望这个帖子 以及帖子里各位朋友的回复能够提供一点点帮助
谢谢楼上的回复
楼主说的没错。
以前我做过一个框架,
在这里就不再推广告叫lz去用了。
但可以谈一下我们怎么做cache,也许能(或缓解)lz的问题。
我们的cache是根据业务逻辑cache内容的。
例如,如果有个业务是list一个100万的表,
如果你cache所有的内容,机子内存肯定受不了,
如果不cache,每次到数据库去取,翻一页肯定很慢。
针对楼主的那些问题,我们一般有以下方案。
1, 如果list一个表,
可以用cache,我们的cache支持分段cache,就是说:
// 你可以写更多,这里函数用的jdk5缺省参数,它的意思是cache第一页,第二页,最后一页,假设每页显示200条数据, Cache.range(0, 200, 200, 400, 999800, 1000000);
导用一句话,就是“cache on need”,而不是cache所有你“可能”要用到的数据。
2,对于那些一次导出所有的数据,我们提供resultHandle,它保存一个结果集的handle,可以重复和共享使用,不占内存。
3,我们提供search操作一次可以返回所以结果,可以不组装对象,速度等同于jdbc。
你可以在下面得到我们的框架:
http://sourceforge.net/projects/dbcoat
57 楼
unifly
2007-05-24
哈,给楼主提供一套方案吧,参考自我们系统内的一个全国性的大型项目……
主要思路是这样的:client通过Applet向server请求每页数据,然后通过Applet(利用jxl)写到Excel……
server端提供的是xml数据,这样还可以做到与后台无关……
对于较大量数据,将导出到n个Excel文件中,可以在client端指定每个Excel文件的最大记录数……
注意问题:由于受到安全沙箱的影响,需要给Applet签名,而JDK1.5以上需要创建可信任证书,JDK1.4利用自签名证书即可……
总结:优点是显而易见的,大幅减少对server的内存耗用,增加了系统的并发性……
缺点是对前台机器有较高要求,需要安装JRE……
btw:java还是很有搞头的啊……
主要思路是这样的:client通过Applet向server请求每页数据,然后通过Applet(利用jxl)写到Excel……
server端提供的是xml数据,这样还可以做到与后台无关……
对于较大量数据,将导出到n个Excel文件中,可以在client端指定每个Excel文件的最大记录数……
注意问题:由于受到安全沙箱的影响,需要给Applet签名,而JDK1.5以上需要创建可信任证书,JDK1.4利用自签名证书即可……
总结:优点是显而易见的,大幅减少对server的内存耗用,增加了系统的并发性……
缺点是对前台机器有较高要求,需要安装JRE……
btw:java还是很有搞头的啊……
56 楼
fins
2007-05-20
不行的 因为查询的条件不一样,每个人权限不一样
为每一种查询对应的结果都缓存,情况太多了
其实目前对于我们这种情况,没有完美解
我发这个帖子的目的 就是想集思广益 看看 到底有哪些方案,
当别人遇到问题的时候,希望这个帖子 以及帖子里各位朋友的回复能够提供一点点帮助
谢谢楼上的回复
为每一种查询对应的结果都缓存,情况太多了
其实目前对于我们这种情况,没有完美解
我发这个帖子的目的 就是想集思广益 看看 到底有哪些方案,
当别人遇到问题的时候,希望这个帖子 以及帖子里各位朋友的回复能够提供一点点帮助
谢谢楼上的回复
55 楼
galaxystar
2007-05-20
缓存所有数据,文件可弄成字节码流,供下载!
然后,有数据更新时,在通知缓存重新load一遍数据!
其他方法,我感觉成本太昂贵了!
然后,有数据更新时,在通知缓存重新load一遍数据!
其他方法,我感觉成本太昂贵了!
54 楼
fins
2007-05-20
其实这个问题的关键有3
1 导出/打印 都是全部数据,如果不把相关方法侵入到DAO里(我们没有用spring的jdbcTemplate),那么返回一个大的collection是必然的,此时会导致OOM.
2 导出使用的组件不管是 JXL也好POI也好,都会在内存中生成XSL文件的大对象,此时亦会导致OOM
3 这些操作常常是高并发,所以OOM产生的频率更是高的离谱
1 导出/打印 都是全部数据,如果不把相关方法侵入到DAO里(我们没有用spring的jdbcTemplate),那么返回一个大的collection是必然的,此时会导致OOM.
2 导出使用的组件不管是 JXL也好POI也好,都会在内存中生成XSL文件的大对象,此时亦会导致OOM
3 这些操作常常是高并发,所以OOM产生的频率更是高的离谱
53 楼
davexin
2007-05-20
楼主可能有点没考虑好性能瓶颈的问题,如果并发是在查询,考虑改善查询性能,可以考虑作数据库群集,如果是由于webapp不能撑住的话,可以做webapp群集,如果是打印性能瓶颈,可以考虑采用打印的单独处理,不知道是否能解决你的问题,我以前做过2000多万用户量的系统,就是采用群集的方式,最大的时候每秒钟30万访问量。我没有遇到打印的问题,但是数据库问题和你的相似,可以分多个数据库,并且采用数据库的群集。不知道这个建议是否适合你的问题。
52 楼
eonhy
2007-05-16
把WAS 6.0换成轻量级容器?节省一部分内存开销?
既然不想大改代码,这些东西总可以动吧?
既然不想大改代码,这些东西总可以动吧?
51 楼
eonhy
2007-05-16
换用JRockit JVM
可以改善和调整GC的性能,不妨试验一下
可以改善和调整GC的性能,不妨试验一下
50 楼
seadog
2007-05-14
如果瓶颈在xls的话,我有个比较简化的方法。比如你就用你的struts生成的html在最后输入的时候。在response里边设置一个输入参数。这样就能直接生成xls了。不要用java掉用操作xls的包
49 楼
tangchao
2007-05-12
使用Cache服务器吧;将一些实时性不强的数据采取缓存策略。
比较常用的Cache服务器有负载均衡服务器F5带的RAMCache。
或者使用squid 来做缓存服务器。效果很好的。
比较常用的Cache服务器有负载均衡服务器F5带的RAMCache。
或者使用squid 来做缓存服务器。效果很好的。
48 楼
luogl
2007-05-11
ahuaxuan 写道
fins 写道
打印就是用的浏览器的,但是也是打印全部(在隐藏帧里显示一个简单的表格,然后调用window.print 我也知道这方案不好,但是还有别的方法吗?)
这种打印挺好的,其他方法比如jasperreport生成pdf打印,或者applet打印,但是我觉得js打印是最好的
好象不能控制范围吧,java控制的打印方式是什么呢?
47 楼
jimmy.shine
2007-05-10
对于打印,建议使用jasper report,在collection中放入大量数据是会让垃圾回收器回收不到。应当强制手动的进行垃圾收集。
46 楼
frankies
2007-05-10
对于excel文件导出生成的问题,我建议不要用poi或jxl之类的工具包去生成文件,我们可以用xml+xsl->xml->把生成的xml另存为excel文件的形式。大家知道office2000之后的版本都支持xml格式.
45 楼
xly_971223
2007-05-07
langds 写道
嘿,本人在些论坛已潜水多年,今天也来凑个热闹.
我个人认为,楼上的兄弟些提出了如此多的思路,虽然很开阔,但不真正实用.正如楼主所说,导致OutOfMemory的问题其实并非技术因素,而是需求和设计上的缺陷.事实上,楼上已经有一位兄弟给出了一个较实用且常用的方案:用时间换空间.
诸如电信及银行这样的海量数据应用中,几乎没有任何一个系统是真正做到了实时下载的.且不说OutOfMemory,当下载该文件的工作就是一个大问题,每个Server上所能接受的并发线程是有限的,如果太多用户在下载资源,就必然会导致系统的吞吐率极巨下降,这导致其它用户连一个简单的请求也都做不了,甚至如果这其中出现了锁表或线程挂起的情况将会使整个系统停止服务,这是致命的.
而事实上,或许用户并非真的就非常迫切地要求实时下载,往往一种更常见的作法就是在查询出结果后,通过将结果进行保存后,再稍后下载即可.换句话说就是用户在界面上点击"导出到文件"时,并非真正执行下载,而是将任务加入一个队列,由后台异步地并限制并发量地执行,将结果文件产生后存于文件系统,当文件生成完毕后,用户便可在界面上点击下载文件了.且该文件下载功能最好单独开启一个Server,该Server就只负责文件下载任务,这样就不会影响到系统的正常服务了.对于资源紧缺的用户来说,可以在一台机器上启动两个Server,也可以是垂直集群的方式.不用担心CPU的瓶颈,大多数的应用其实如果只跑一个Server,那么该台机器的CPU事实上是非常闲的.
我个人认为,楼上的兄弟些提出了如此多的思路,虽然很开阔,但不真正实用.正如楼主所说,导致OutOfMemory的问题其实并非技术因素,而是需求和设计上的缺陷.事实上,楼上已经有一位兄弟给出了一个较实用且常用的方案:用时间换空间.
诸如电信及银行这样的海量数据应用中,几乎没有任何一个系统是真正做到了实时下载的.且不说OutOfMemory,当下载该文件的工作就是一个大问题,每个Server上所能接受的并发线程是有限的,如果太多用户在下载资源,就必然会导致系统的吞吐率极巨下降,这导致其它用户连一个简单的请求也都做不了,甚至如果这其中出现了锁表或线程挂起的情况将会使整个系统停止服务,这是致命的.
而事实上,或许用户并非真的就非常迫切地要求实时下载,往往一种更常见的作法就是在查询出结果后,通过将结果进行保存后,再稍后下载即可.换句话说就是用户在界面上点击"导出到文件"时,并非真正执行下载,而是将任务加入一个队列,由后台异步地并限制并发量地执行,将结果文件产生后存于文件系统,当文件生成完毕后,用户便可在界面上点击下载文件了.且该文件下载功能最好单独开启一个Server,该Server就只负责文件下载任务,这样就不会影响到系统的正常服务了.对于资源紧缺的用户来说,可以在一台机器上启动两个Server,也可以是垂直集群的方式.不用担心CPU的瓶颈,大多数的应用其实如果只跑一个Server,那么该台机器的CPU事实上是非常闲的.
单独开启一台服务器的方式 可以避免生成文件下载文件是对其他服务的影响 可以参考, 不过会增加企业的成本
ps:这种横向服务转纵向服务的方式可以解决很多webserver的问题
44 楼
langds
2007-05-05
嘿,本人在些论坛已潜水多年,今天也来凑个热闹.
我个人认为,楼上的兄弟些提出了如此多的思路,虽然很开阔,但不真正实用.正如楼主所说,导致OutOfMemory的问题其实并非技术因素,而是需求和设计上的缺陷.事实上,楼上已经有一位兄弟给出了一个较实用且常用的方案:用时间换空间.
诸如电信及银行这样的海量数据应用中,几乎没有任何一个系统是真正做到了实时下载的.且不说OutOfMemory,当下载该文件的工作就是一个大问题,每个Server上所能接受的并发线程是有限的,如果太多用户在下载资源,就必然会导致系统的吞吐率极巨下降,这导致其它用户连一个简单的请求也都做不了,甚至如果这其中出现了锁表或线程挂起的情况将会使整个系统停止服务,这是致命的.
而事实上,或许用户并非真的就非常迫切地要求实时下载,往往一种更常见的作法就是在查询出结果后,通过将结果进行保存后,再稍后下载即可.换句话说就是用户在界面上点击"导出到文件"时,并非真正执行下载,而是将任务加入一个队列,由后台异步地并限制并发量地执行,将结果文件产生后存于文件系统,当文件生成完毕后,用户便可在界面上点击下载文件了.且该文件下载功能最好单独开启一个Server,该Server就只负责文件下载任务,这样就不会影响到系统的正常服务了.对于资源紧缺的用户来说,可以在一台机器上启动两个Server,也可以是垂直集群的方式.不用担心CPU的瓶颈,大多数的应用其实如果只跑一个Server,那么该台机器的CPU事实上是非常闲的.
我个人认为,楼上的兄弟些提出了如此多的思路,虽然很开阔,但不真正实用.正如楼主所说,导致OutOfMemory的问题其实并非技术因素,而是需求和设计上的缺陷.事实上,楼上已经有一位兄弟给出了一个较实用且常用的方案:用时间换空间.
诸如电信及银行这样的海量数据应用中,几乎没有任何一个系统是真正做到了实时下载的.且不说OutOfMemory,当下载该文件的工作就是一个大问题,每个Server上所能接受的并发线程是有限的,如果太多用户在下载资源,就必然会导致系统的吞吐率极巨下降,这导致其它用户连一个简单的请求也都做不了,甚至如果这其中出现了锁表或线程挂起的情况将会使整个系统停止服务,这是致命的.
而事实上,或许用户并非真的就非常迫切地要求实时下载,往往一种更常见的作法就是在查询出结果后,通过将结果进行保存后,再稍后下载即可.换句话说就是用户在界面上点击"导出到文件"时,并非真正执行下载,而是将任务加入一个队列,由后台异步地并限制并发量地执行,将结果文件产生后存于文件系统,当文件生成完毕后,用户便可在界面上点击下载文件了.且该文件下载功能最好单独开启一个Server,该Server就只负责文件下载任务,这样就不会影响到系统的正常服务了.对于资源紧缺的用户来说,可以在一台机器上启动两个Server,也可以是垂直集群的方式.不用担心CPU的瓶颈,大多数的应用其实如果只跑一个Server,那么该台机器的CPU事实上是非常闲的.
43 楼
SteveGY
2007-05-01
什么啊?这样的问题,呵呵,你们居然一定要在内存中解决所有的数据吗?无论如何,这个思路,都会遇到out of memory问题的。
1. 修改查询方式,不要生成collection,因为无论你的内存多大,随着业务的增长,数据量只会变大,内存是永远不够的。
2. 如果可以使用简单的流式文件格式生成输出,尽可能使用流式文件,什么是“流”式文件?就是不可逆向移动文件指针的字节流,这样的流可以很少使用内存,stdout, response就是典型的流式文件。对你现在的问题,csv, XLS的html格式都很合适。
3. 我曾经输出过一些大量数据行的报表,查询时,直接使用jdbc,循环fetch一行rowset,然后把数据填到格式化的htmlString中,response.write(htmlString); 再fetch下一行,这是最基本的jdbc fetch循环,好像这里每一个人都忘记了最基本的技能,这样的查询加输出根本不需要应用服务器的内存(当然还是要一点点的,基本上只有那一行rowset的内存就够了)。你甚至可以把response的buffer关掉,这样你的客户端,就可以看到类似行打印机一样的输出效果,呵呵,我的客户还比较喜欢这个效果,她说看着数据一行一行的输出比坐等5分钟白屏幕,然后瞬间看到结果更有安全感和成就感
现在,问题的关键就是,你能不能使用流式的输出字节流了,不使用字节流,这样的大量数据,逻辑上是没有一个简单的解决办法的。前面有人提了n个复杂的方法,疯掉了,还是KISS原则,仔细考虑一下。
想一下啊,你们谁见过哪一个数据库提供的查询工具,在做
的时候是在内存中把数据格式化好了再输出的??开玩笑
1. 修改查询方式,不要生成collection,因为无论你的内存多大,随着业务的增长,数据量只会变大,内存是永远不够的。
2. 如果可以使用简单的流式文件格式生成输出,尽可能使用流式文件,什么是“流”式文件?就是不可逆向移动文件指针的字节流,这样的流可以很少使用内存,stdout, response就是典型的流式文件。对你现在的问题,csv, XLS的html格式都很合适。
3. 我曾经输出过一些大量数据行的报表,查询时,直接使用jdbc,循环fetch一行rowset,然后把数据填到格式化的htmlString中,response.write(htmlString); 再fetch下一行,这是最基本的jdbc fetch循环,好像这里每一个人都忘记了最基本的技能,这样的查询加输出根本不需要应用服务器的内存(当然还是要一点点的,基本上只有那一行rowset的内存就够了)。你甚至可以把response的buffer关掉,这样你的客户端,就可以看到类似行打印机一样的输出效果,呵呵,我的客户还比较喜欢这个效果,她说看着数据一行一行的输出比坐等5分钟白屏幕,然后瞬间看到结果更有安全感和成就感
现在,问题的关键就是,你能不能使用流式的输出字节流了,不使用字节流,这样的大量数据,逻辑上是没有一个简单的解决办法的。前面有人提了n个复杂的方法,疯掉了,还是KISS原则,仔细考虑一下。
想一下啊,你们谁见过哪一个数据库提供的查询工具,在做
select * from table_with_huge_lines;
的时候是在内存中把数据格式化好了再输出的??开玩笑
发表评论
-
一个商业公司如果要支持一个开源项目的话,它需要做哪些工作啊?
2009-12-07 16:55 4953一个商业公司如果要支持一个开源项目的话,它需要做哪些工作呢? ... -
如何让jxl (jexcelapi) 支持更多的数据
2009-01-08 23:52 4517jxl (jexcelapi) 一直是我比较喜欢的 java版 ... -
在java中"模拟" XMLHttpRequest
2008-11-03 12:17 13095这里所说的"模拟" 是指 : 在java中 ... -
利用google docs进行"轻量级过程管理".
2008-08-28 13:21 0利用google docs进行" ... -
[请教]jxl生成xls时,支持"合并"或"磁盘缓存"吗(导出大数据量时)
2008-07-28 09:37 6940jxl 由于其小巧 易用的特点, 逐渐已经取代了 POI-ex ... -
不错的国产开源免费的php框架: FleaPHP
2008-07-28 01:58 8518之前用他开发过一个小的网站 开发过程非常轻松愉快 体验也很好 ... -
GT-FrontController, 一个简陋的MVC控制器的设计思路
2008-07-06 23:53 2730在给GT-Grid做前后台结合的例子时, 为了"快速 ... -
h2database 普及系列一: 简介
2008-05-06 19:10 22118这不是一个新东西,但是 ... -
JSF 与 "我的伟大发明" ---- 关于B/S UI开发的胡言乱语
2008-04-10 14:25 14467这篇帖子后面的回复和 ... -
初看JSF后的胡言乱语
2008-04-10 09:31 4583最近看了一点jsf ---- 只 ... -
Help,如何在J2EE环境下使用Sqlite以及如何将sqlite打入war包
2008-03-27 09:46 3785需求是这样的 希望j2ee应用(基于应用 而不是整个服务器) ... -
请记住: i AM SoLiD. (关于View的事件触发顺序)
2007-11-16 04:11 2627View 提供了若干事件. 在渲染 布局 展现 相关事件的触 ... -
Android SDK下, 如何在程序中输出日志 以及如何查看日志.
2007-11-15 22:38 9846Android SDK下, 如何在程序中输出日志 以及如何查看 ... -
小胖加入Android Fans的 大军了 呵呵
2007-11-15 13:30 3136决定开始研究 Android 了. 以前研究过 j2me 对 ... -
老帖: findbugs简介
2007-11-02 10:09 3567这个时候说 findbugs ??? ... -
世上没有B/S系统,只有B系统和S系统.
2007-09-12 13:45 34346先说些与标题貌似无关的话. 随着prototype DWR ... -
[求助]有没有哪个缓存组件支持 基于访问频率的清理策略
2007-08-29 18:30 2404目前缓存清理策略几乎都是基于 存活期 和 活跃期 还有缓存队列 ... -
[发布2007-08-06]Ajax向导组件 WebWizard Component Beta1
2007-08-06 15:55 4995/****************************** ... -
寻求一个eclipse下更好的snippet插件(或代码模板管理插件 或代码生成器)
2007-07-26 11:12 4258eclipse自带一个snippet插件,但是功能有限. 只支 ... -
让Struts 1焕发青春----小议对Struts的改造.
2007-06-25 15:27 7598目前流行的新型的MVC框架 几乎都在"增强单元测试能 ...
相关推荐
这是因为PermGen空间主要用于存储类元数据,如果该空间设置过小,可能会导致频繁的垃圾回收甚至内存溢出。 - 更深入地分析内存使用情况,识别出内存泄漏的具体位置并进行修复。 - 使用工具如VisualVM或JConsole等...
这可能意味着数据读取效率低下,频繁地从磁盘加载数据,从而对系统性能造成影响。为了改善这种情况,我们调整了SGA参数以提高缓冲区的利用率,从而使系统运行更加顺畅。 然而,问题并未就此结束。在一天后,数据库...
在IT行业中,数据库性能优化是至关重要的,尤其是对于高并发、大数据量的网站而言。本文主要探讨了一个由MySQL中的慢SQL查询导致整个网站宕机的问题及其解决方案。 首先,慢SQL查询通常不会直接导致网站宕机,但...
服务器宕机是一种常见的IT灾难,它可能会导致业务中断、数据丢失和经济损失。因此,拥有一个完善的服务器故障应急预案对于企业的正常运营至关重要。本文将讨论服务器宕机的原因、备份和冗余措施、应急预案的实施等...
在IT行业中,"永不宕机的服务器"是一个重要的概念,尤其对于那些依赖高可用性和连续服务的企业来说至关重要。"宕机"是指服务器因为各种原因停止服务,无法响应客户端请求,这对业务连续性和用户体验可能造成严重影响...
本文将深入探讨宕机检测工具的工作原理、功能特性以及如何运用这些工具来提升系统稳定性。 首先,宕机检测工具的核心功能是对多台服务器、多IP地址以及多个业务端口进行健康检查。这种检查通常包括以下几个方面: ...
如发生在 mysql 软件可承受力够但是服务器硬件,或者...宕机 又或者 MYSQL 参数配置过大或者参数配置不合理导致服务器崩溃 ,出现宕机的可能多种多样,本文档主要体现的是宕机后可能出现的问题和后遗症较大的情况是什么
- **问题描述**:某些表数据量大且频繁进行插入、更新操作,影响系统性能。 - **解决方案**: - 对数据表进行分表设计,合理分布数据,减少单个表的数据量。 6. **TCP请求堵塞**: - **问题描述**:过多的请求...
tomcat宕机重启脚本,比较简单的一种设置
### IT知识要点:宕机对企业的影响与IBM POWER7的应对策略 #### 1. 宕机对企业的影响 - **业务中断**:宕机会导致企业工作流程的中断,直接影响业务连续性和客户服务,造成收入损失。 - **经济损失**:包括直接的...
然而,当GitLab服务器遭遇宕机时,可能会导致开发者无法正常进行代码的提交和下载,这对任何依赖GitLab进行日常开发工作的团队来说都是一个重大的挑战。本文将详细解释如何在GitLab服务器宕机后恢复代码仓库,确保...
宕机可以是短暂的,也可以持续较长时间,严重时甚至可能导致数据丢失或服务完全不可用。 #### 二、宕机的不同称谓 在日常交流中,宕机还常被称为“当机”、“死机”,尽管这些称呼不够规范,但它们已经成为了人们...
【银行系统的高并发架构】是针对金融机构如何处理大规模并发交易的一种设计策略,特别是在像双十一这样的高峰期,银行系统需要应对极大的交易量冲击。以下是对这部分内容的详细解释: 1. **业务情况**: - 第三方...
### MySQL 主备机宕机自动切换详解 #### 一、MySQL主备复制机制简介 MySQL复制(Replication)是MySQL数据库系统中一个重要的特性,它允许数据从一台MySQL服务器(称为Master)复制到另一台或多台MySQL服务器...
本文档记录了一次 CentOS 7 服务器因断电导致宕机的修复过程。该服务器的修复过程中遇到了许多问题,包括 fstab 文件的缺失、分区表的损坏、root 分区的损坏等问题。通过对这些问题的解决,最终成功地修复了服务器。...
该宕机事件发生在测试环境中的一台装有ORACLE数据库的AIX小机上,导致数据库宕机。我们将从故障原因分析、故障解决过程、故障后分析和故障总结四个方面对该事件进行详细的分析和讨论。 一、故障原因分析 该宕机...
由于项目需要,编写基于zookeeper集群监测服务器宕机情况,并发邮件通知代码;实现很简单,编写了客户端和服务端,基于maven实现,代码方面修改zookeeper ip地址,需要部署的服务器名和邮件信息即可实现。直接打包...
更重要的是,nginx还提供了宕机自动切换的能力,这确保了在某后端服务器发生故障时,能够快速切换到健康节点继续提供服务,从而保障了服务的连续性和稳定性。 在nginx中进行负载均衡配置,一般会利用到默认安装的...
服务器健康状态,查看服务器是否负载高,内存不够,意外断电等宕机情况。 系统状态 主从同步是否正常,数据备份是否正常。 告知协助判断人员的内容 一线工程师确认ADS服务器健康是否正常。 判断的时间要求 设备...