精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-12-09
经过大家指导,我修改了一些参数,项目最近稳定了一些,但还是没达到预期效果。Msql的连接数据已经改成最大可连接200个,并加大了Mysql的缓存值;重构了与数据库相关的程序。用Jmeter作远程进行压加测试,600用户20个请求系统正常,实际情况每天晚上还是会死一到两次,可能是测试案例内容不完整。至于楼上那位仁兄说单磁盘I/O问题,我还没考虑过,加硬盘搞测试可能性不大。
以下是Mysql的设置,还需各位多提意见。 [mysqld] basedir=C:/mysql datadir=D:/MySqlData/data key_buffer_size=64M table_cache=256 sort_buffer=4M read_buffer_size=4M query_cache_size=5 default-character-set = gbk max_connections=200 [WinMySQLAdmin] Server=C:/mysql/bin/mysqld-nt.exe [mysql] default-character-set = gbk |
|
返回顶楼 | |
发表时间:2004-12-09
key buffer给128MB,query cache给128MB,升级到MySQL4.1。用MySQL Administrator连接上观察服务器运行状态。
|
|
返回顶楼 | |
发表时间:2004-12-20
根据robbin的建议将数据库设置作了如下修改。希望数据库的吞吐量与性能上有所提高,同时带动有问题的项目能有所改观。改完设置之后发现MYSQL占用的虑拟内存有250M左右,不知是否合理,希望大家多提意见。
另一个问题:由mysql-4.0.18版本数据库用mysqldump命令导出的SQL脚本,用mysql -uroot <sample.sql导入mysql-4.1.7版本时报错,提示唯一索引数据重复,但导入到mysql-4.0.18版本数据库就不报错。简直就是匪夷所思,初步断定是版本兼容性有问题。由于存在以上问题没有采用新版本的MYSQL提换现运行版本。 [mysqld] basedir=C:/mysql datadir=D:/MySqlData/data key_buffer_size=128M table_cache=256 sort_buffer=4M read_buffer_size=128M query_cache_size=2M max_connections=300 max_allowed_packet=10M net_buffer_length=1M thread_concurrency=200 thread_cache_size=100 thread_stack=512k tmp_table_size=64M temp_pool [WinMySQLAdmin] Server=C:/mysql/bin/mysqld-nt.exe [mysql] default-character-set = gbk |
|
返回顶楼 | |
发表时间:2004-12-28
将负载最重的项目首页,由原来的Tile动态组装,更新成了定时生成静态页。用户每次访问首页时,总是访问系统已经生成好的静态HTML页面。每隔2小时(或4小时‘参数化’)自动生成首页文件,还可人工触发请求生成首页文件。系统缓冲12小时更新一次。
经过以上处理,查看TOMCAT内存增加情况,不像以前那样一开服务就猛涨,内容占用量趋势以较平缓方式上升。但同时带来的下不好的后果,每天晚上22时或23时肯定会DOWN一次机,通常是机器自动重起,又是一个问题摆在面前。打算应用模版技术将项目中大量部页面重构一次。 |
|
返回顶楼 | |
发表时间:2004-12-28
引用 将负载最重的项目首页,由原来的Tile动态组装,更新成了定时生成静态页。用户每次访问首页时,总是访问系统已经生成好的静态HTML页面。每隔2小时(或4小时‘参数化’)自动生成首页文件,还可人工触发请求生成首页文件
使用oscache提供的标签,更方便点! |
|
返回顶楼 | |
发表时间:2005-01-05
经过一番处理(抛掉了一些历史数据,痛苦啊!),将数据库由原来的4.0.18升级到了4.1.8,并修改了一些数据库设置参数,Mysql的JDBC文件也更到取了3.1.6-ga版。
观察服务器内存状态,发现TOMCAT吃内存的速度还是很快。初步判断是大量生成VO对象和大量String对象,使GC没能及时销毁与回收。在查程序无果情况下,只好申请增加1G内存,以观察效果。 数据库设置没配置太高,因为内存还没增加,现在这程度内存已经吃紧。希望大家多提意见。具体设置如下: [client] port=3306 [mysqld] port=3306 basedir=D:/mysql/ datadir=D:/mysql/Data/ default-character-set=gbk default-storage-engine=INNODB max_connections=500 query_cache_size=64M table_cache=1520 tmp_table_size=32M myisam_max_sort_file_size=100G myisam_max_extra_sort_file_size=100G myisam_sort_buffer_size=12M key_buffer_size=100M read_buffer_size=128M read_rnd_buffer_size=256K sort_buffer_size=5M innodb_additional_mem_pool_size=2M innodb_flush_log_at_trx_commit=1 innodb_log_buffer_size=1M innodb_buffer_pool_size=93M innodb_log_file_size=19M innodb_thread_concurrency=10 max_allowed_packet=10M net_buffer_length=1M thread_concurrency=200 temp-pool |
|
返回顶楼 | |
发表时间:2005-01-05
1。如果速度不是很重要,可以加一个 -Xincgc 试试
2。需要考虑所有涉及到的本地资源是否被释放,并不一定都是数据库连接。例如session, mail, io, dblink... |
|
返回顶楼 | |
发表时间:2005-01-06
根据楼上那位仁兄的建议,在Tomcat启动时在JVM参数中增加了“-Xincgc”一项,用以改善GC的情况,后果不乐观。在任务管理器看Tomcat内存情况,发现内存增加比没增加该参数之前增长还快,没过几分钟Tomcat彻底死掉。重启机器时发生出错提示,机器在死掉。看来还需在自己程序上多找问题。
|
|
返回顶楼 | |
发表时间:2005-01-06
唉,网速太慢,突然显示一个图片,点了半天没反应,差点重启机器了。
忘记问了,vm用的是什么呀,我记得以前在sun 142上测试增量GC,感觉还是不错的,就是比普通的慢点,不至于涨上去下不来。 另:如果这个错误和java有关系,想来也是os和vm的问题吧。还有是用的hotspot server vm吗,好像也有些关系。代码除非有明确目标,否则不建议普查,工作量太大,而且很难有效果 |
|
返回顶楼 | |
发表时间:2005-01-07
“hotspot server vm”又是什么东西?服务器所用J2SE版本为 (build 1.4.2_04-b05,mixed mode),-Xms与-Xmx均为600M,stack size没设置。服务器还有一状态是TOMCAT程序死掉,但JVM还在运行,并且任务管理器中TOMCAT的线程杀不掉,只能重启机器才能解决。
|
|
返回顶楼 | |