论坛首页 Java企业应用论坛

用Tomcat5.0.27单独作WebServer时遇到的问题。

浏览 32417 次
精华帖 (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
0 请登录后投票
   发表时间:2004-12-09  
key buffer给128MB,query cache给128MB,升级到MySQL4.1。用MySQL Administrator连接上观察服务器运行状态。
0 请登录后投票
   发表时间: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 
0 请登录后投票
   发表时间:2004-12-28  
将负载最重的项目首页,由原来的Tile动态组装,更新成了定时生成静态页。用户每次访问首页时,总是访问系统已经生成好的静态HTML页面。每隔2小时(或4小时‘参数化’)自动生成首页文件,还可人工触发请求生成首页文件。系统缓冲12小时更新一次。
经过以上处理,查看TOMCAT内存增加情况,不像以前那样一开服务就猛涨,内容占用量趋势以较平缓方式上升。但同时带来的下不好的后果,每天晚上22时或23时肯定会DOWN一次机,通常是机器自动重起,又是一个问题摆在面前。打算应用模版技术将项目中大量部页面重构一次。
0 请登录后投票
   发表时间:2004-12-28  
引用
将负载最重的项目首页,由原来的Tile动态组装,更新成了定时生成静态页。用户每次访问首页时,总是访问系统已经生成好的静态HTML页面。每隔2小时(或4小时‘参数化’)自动生成首页文件,还可人工触发请求生成首页文件

使用oscache提供的标签,更方便点!
0 请登录后投票
   发表时间: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
0 请登录后投票
   发表时间:2005-01-05  
1。如果速度不是很重要,可以加一个 -Xincgc 试试
2。需要考虑所有涉及到的本地资源是否被释放,并不一定都是数据库连接。例如session, mail, io, dblink...
0 请登录后投票
   发表时间:2005-01-06  
根据楼上那位仁兄的建议,在Tomcat启动时在JVM参数中增加了“-Xincgc”一项,用以改善GC的情况,后果不乐观。在任务管理器看Tomcat内存情况,发现内存增加比没增加该参数之前增长还快,没过几分钟Tomcat彻底死掉。重启机器时发生出错提示,机器在死掉。看来还需在自己程序上多找问题。
0 请登录后投票
   发表时间:2005-01-06  
唉,网速太慢,突然显示一个图片,点了半天没反应,差点重启机器了。
忘记问了,vm用的是什么呀,我记得以前在sun 142上测试增量GC,感觉还是不错的,就是比普通的慢点,不至于涨上去下不来。
另:如果这个错误和java有关系,想来也是os和vm的问题吧。还有是用的hotspot server vm吗,好像也有些关系。代码除非有明确目标,否则不建议普查,工作量太大,而且很难有效果
0 请登录后投票
   发表时间:2005-01-07  
“hotspot server vm”又是什么东西?服务器所用J2SE版本为 (build 1.4.2_04-b05,mixed mode),-Xms与-Xmx均为600M,stack size没设置。服务器还有一状态是TOMCAT程序死掉,但JVM还在运行,并且任务管理器中TOMCAT的线程杀不掉,只能重启机器才能解决。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics