关于数据压力测试,内存溢出测试。

问题描述

现有的OA支撑着全公司(各子公司包括办事处)的日常运行,系统是用C#+SQLServer写的,用户数接近400多,系统每天刚运行的时候服务器大概占用的内存都是100多M200M左右,但随着使用时间的增加,一天运行下来系统会越来越慢,每天下班一查看,数据库服务器物理内存的占用量几乎接近2G(物理内存约1.7个G,虚拟内存约1.8个G),经常因为这样导致短时间的系统“休克”,本人估计是因为系统内存内存溢出导致系统占用内存剧增的,直接造成系统运行缓慢,甚至“休克”,但实在苦于无法对症下药,无从下手。请教一下各位高人,能否推荐一些工具或者一些方法对系统进行跟踪,查找出病原所在,以解决这个困扰偶一年多以来一直存在的问题。

解决方案

解决方案二:
.NET有垃圾回收,理论上不存在内存泄漏的问题,是不是代码中有非托管的代码或调用了API,导致非托管的资源没有回收,在就是和数据库交互的代码也可能导致。如果有可以先检查下这些地方的代码是不是没有释放内存。http://rliu0102.blogspot.com/2008/04/zz.html参考下把有一些开原的工具客可以监控的,但是.NET下的还没用过,自己搜索下
解决方案三:
全面检查代码
解决方案四:
估计是和数据库交互导致的问题较大,这个就没办法了,只有一点点查
解决方案五:
建议楼主少用全局变量(特别是数组、数据表、SQL查询结果dataset等),多用局部变量;还要少用静态变量。另外请楼主注意,如果程序里面包含非常多的SQL查询的话,用来保存查询结果的数据表一定要是局部变量才能节省内存,因为一次查询,是要消耗内存的,因为查询到是数据是暂存在内存中的,但如果不需要这些数据的时候一定要及时释放。如果不用全局变量,。net的垃圾回收机制会主动将不需要的数据清理掉,这样可以保持稳定的内存消耗。根据楼主的描述,我认为楼主应该重点检查SQL查询、SQL写入、SQL读取等部分的代码,将不必要的数据表定义为局部变量。仅供参考。
解决方案六:
up
解决方案七:
谢谢楼上各位高手的关注,小弟在此谢过大家!!!详细说一下系统的情况吧现在系统是使用两台性能都比较好的IBM服务器,iis一台,sqlserver一台主要是sqlserver的内存占用量总是高居不下,iis服务器我也开了缓冲池限制,但也经常内存暴增,不过一般都是100-400M的物理内存占用量,自己估算用户数一多,也算正常,但sqlserver的服务器的确让人担心。系统是标准的三层结构,所有插入、删除、更新、查询操作都是在数据层实现,也就是说全部都使用储存过程实现,不知道这方面会不会影响到系统的性能,如果因为大量调用储存过程导致内存占用量剧增,又有什么方法可以实现内存回收呢?还有,就是现有系统的确有很多dataset的使用,但已尽量进行优化,能用datareader的地方都改成datareader,但如果按照这样计算的话,使用大量的dataset造成占用大量系统内存的话,应该是在iis的服务器上出现内存剧增而无法回收的情况,但现在是在db服务器上因为内存剧增而导致系统短暂“休克”,真的百思不得其解,望各位高手能给偶指条道道,彻底把这个顽疾解决。
解决方案八:
我们做压力测试一般都是考虑数据量,经验有限.关注
解决方案九:
数据量现在按照信息量的话有一部分表是达到百W级(估计不会超过10张表)十万级的表应该也有1、2十张大部分都是W级的数据表。
解决方案十:
还有一个想说一下系统查询用到很多临时表,特别是分页的操作,如果真是这个原因造成,这方面又如何解决?
解决方案十一:
我这边服务器物理内存4g,只要iis一开,就是2.5g,其中sql占1.8g左右。我做了.net页面级的缓存,甚至xml临时存储数据,但一直居高不下。我是全sql语句,一点存储过程都没用。但有一条,内存占用从来不超过2.5G。所以我就没管。你今天这么一说我想是要考虑一下了。
解决方案十二:
sqlserver默认会使用全部内存来运行,调整下sqlserver的资源限制就可以了
解决方案十三:
请问楼上兄台,应该如何调整?
解决方案十四:
该回复于2008-06-11 15:28:51被版主删除
解决方案十五:
关注+学习!!帮你顶!!
解决方案:
数据库优化和代码优化,这两块都要处理下的
解决方案:
自己顶一下,希望大家能帮帮偶。
解决方案:
dbserver配置:8G的服务器内存双至强cpu3.0(四核)这样的配置有时cpu也会占用很高,但不是经常,一般平均都是40-70左右的cpu占用率程序我也一直怀疑存在问题,但苦于不知道怎么跟踪。
解决方案:
自己再顶一下,希望有高手能关注。

时间: 2024-09-15 23:43:16

关于数据压力测试,内存溢出测试。的相关文章

io流-listFiles 大数据量时内存溢出

问题描述 listFiles 大数据量时内存溢出 描述: 获取一个文件集合,通过文件获取文件名集合,再根据文件内容筛选文件,存储在Map里 问题: 文件服务器A文件夹下,存在近7万个文件,以XML格式存储,调用listFiles,再做put操作时, 内存就会溢出,调整过eclipse的堆与非堆内存,加大了1024M,也同样抛出内存溢出异常, 恳请大家指点迷津,给个好的解决方案,或者案例参考,谢谢了 这个方法需要将内容存储在Map对象内然后返回这个Map对象,给其他成员调用,这个内存溢出,因该是在

jxl 数据库中几十万条数据写入Excel 内存溢出

问题描述 各位大虾.我用jxl将数据写入Excel报错:java.lang.OutOfMemoryError:Javaheapspace我从网上找了很多方法,如将每1万条数据写入一个sheet中,修改Xmx参数增加堆的最大使用内存.但是还是出错.跪谢了. 解决方案 解决方案二:优化一下代码,及时释放内存,应该可以的解决方案三:那是因为你需要的内存远远大于你设置的内存大小必须要一次性全部写入么,不能写一个sheet保存一下然后下一个sheet

spring junit 内存溢出

问题描述 spring junit 内存溢出 测试类如下: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:/spring/*/application-*_GL.xml", "classpath:/spring/*/*/applicationContext-*_GL.xml", "classpath:/spring/*/*/appl

outofmemoryexception-VS2013 coded ui test 编码的UI测试 导致程序内存溢出

问题描述 VS2013 coded ui test 编码的UI测试 导致程序内存溢出 我在使用VS coded ui test对一个Winform的程序做自动化测试的时候,每次都在最后抛出OutOfMemoryException的异常,不知道怎么解决. 大家能不能帮忙解决下? 有没有什么方法控制或者监测内存使用情况啊?

有人能指导下-大数据压力测试去测试软件响应速度

问题描述 大数据压力测试去测试软件响应速度 怎么样去开发一个数据生成器,并在大数据背景下测试软件的响应速度...这个该怎么做? 解决方案 国内有AutoRunner和TestCenter,这两个是免费的. 解决方案二: 开发一个数据生成器? 不是很理解, 而且你场景描述太不清楚了,你是要通过专业的测试软件进行测试还是只是生成数据调用程序接口? 生成数据可以程序代码生成 或者 数据库的可以用存储过程创建, excel也可以啊 解决方案三: 根据你的程序来判断,产生一些尽可能和真实数据类似的随机伪数

软件测试中IE内存泄漏测试实例

测试某业数据门户进行功能测试时查看了一下任务管理器,发现IE进程竟然达到了423,145K,怀疑发生了内存泄漏,因此打算直接用IE的插件js memory leaks dector来检测一下,但是进行了一些可能引起内存泄漏的操作后,检测结果一直都很正常,并没有发现关于内存泄漏的地方,开发人员只好自己判断哪些IFRAM没有被销毁来优化系统,降低内存的使用. 下午的时候,查看以前的测试文档,发现用SIEVE来测试此类系统的IE内存泄漏时,通常在报表刷新的过程中,通常是会发生内存泄漏的,因此,用SIE

SQL SERVER 2014 内存表 测试 结果慢 (2016-05-16)

问题描述 SQL SERVER 2014 内存表 测试 结果慢 (2016-05-16) 50C 大家好, 最近下了一个 SQL 2014 64位企业版, 安装环境:WIN7 X64 企业版 台式机环境为: I7 4770K, 16G 内存 , 机械硬盘: 一张是传统的表 disk_card 一张是内存表 snap_card,结构完全相同 两张表记录条数,均为 27752311 条, 而且内容完全一样(从disk__card 整表复制到snap__card的) disk_card 无索引 ( 其

SQLServer表变量对IO及内存影响测试

原文:SQLServer表变量对IO及内存影响测试 1. 测试创建表变量对IO的影响 测试创建表变量前后,tempdb的空间大小,目前使用sp_spaceused得到大小,也可以使用视图sys.dm_db_file_space_usage use tempdb go Set nocount on Exec sp_spaceused /*插入数据之前*/ declare @tmp_orders table ( list_no int,id int) insert into @tmp_orders(

poi处理excel大数据量的导入会报内存溢出

问题描述 poi处理excel大数据量的导入会报内存溢出 XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(fileName())); 就是单独执行这行代码都不行,报内存溢出,我把虚拟机都设置成最大了也溢出 差不多10万行吧 解决方案 poi大数据量excel导入 解决方案二: 可以参考这:poi的eventmodel写的大数据量的excel的读取程序.http://gaosheng08.iteye.com/blog/624