服务器压力上不去原因分析

摘要:
数据库中的基本数据量相对较少,几乎为空。因此,不能提高数据库的CPU利用率。尽管3.2数据库中的数据量相对较大,但性能测试中使用的实际用户与相对较少或没有上游水相关。如果数据库CPU不可用,请首先删除网络和数据量限制,然后检查这50个并发用户是否与流表关联?

百兆的带宽在理论上1秒钟可以传输12.5MB的数据,但是考虑到干扰因素每秒传输只要超过10MB就比较正常啦。千兆带宽每秒传输是100M。

http://www.cnblogs.com/candle806/archive/2011/04/02/2003828.html

通过分析,处于峰值只有网络带宽,为90%以上,而对比此处的吞吐率值恰为95MB/s左右,1Gbps的网络带宽传输速率为128MB/s,从而表明由于吞吐量过大,占用了大量的带宽资源,导致后续的虚拟用户无法得到服务器的资源,而致使请求被拒绝。从最后的页面响应时间来看,系统的压力并没有被承接到页面上,而是由于过大的吞吐量吞噬了网络带宽,导致最终无法有效地完成测试任务。

http://www.xinfengit.com/200907/1848581.html

在性能测试过程中,经常会遇到数据库CPU资源利用率上不去

1、网络带宽问题

1.1被测试环境和lr用机都在百兆带宽中

 

1.2被测试环境和lr用机不在同一带宽中,被测试环境在千兆带宽环境中,lr用机在百兆带宽环境中

 

2.Controller机器在百兆带宽中,被测试环境和lr压力发生器在千兆或以上带宽中

可以查看被测试环境中的交换机的传输速率是100Mbps还是1000Mbps。

TP-LINK TL-SF1016,传输速率:10/100Mbps

3、数据量问题

3.1网络没有问题,吞吐量甚至超过100M,但是后台服务器资源还是比较低。

数据库中基础数据量比较少,几乎是空的数据库,这样数据库CPU利用率也上不去

3.2数据库中的数据量虽然比较多(100万笔以上),但是在性能测试时真正用到的用户所关联的流水比较少,或者根本没有关联上流水。比如:150多万的交易流水,目前用户表有500个用户号,其中有200个用户号关联到了流水表中的数据,而测试时用到了50个用户。数据库CPU没有上去,先要排除网络和数据量的限制,然后要查看这50个并发用户是否都关联到了流水表上?每个客户号关联了多少流水(大于2000,小于10万,太大的会不现实)?

 

4、JDBC连接池限制

以上网络和数据量都没有问题,则会考虑交易到数据库的连接数是否有限制,和数据库操作的那些交易的SQL请求根本没有到达数据库服务器。我们可以通过中间件的控制台查看JDBC的最大容量(此连接缓冲池可容纳的最大物理连接数)

4.1数据库JDBC连接池限制,设置的本来就小,weblogic默认最大容量为50。

 

4.2如果一台应用服务器上是多路进行部署的话,查看各路JDBC连接是否均衡

 

5、应用程序问题

处理能力真的达到了极限==

 

6、性能测试脚本和数据问题

免责声明:文章转载自《服务器压力上不去原因分析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇搭建windows平台GTK+-3.0开发环境[大数据技术]datax的安装以及使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sqlite入门基础(一):sqlite3_open,sqlite3_exec,slite3_close

打开数据库链接sqlite3_open用法 原型: int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 用这个函数开始数据库操作。需要传入两个参...

039.PGSQL-备份和恢复-增量备份-开启wal归档、并设置定时清理备份之后的wal文件

备份: sql转储备份 文件系统级别备份 连续归档-增量备份和基于时间点恢复(PITR) 物理备份:将数据目录,参数文件拷贝出来 逻辑备份:将数据库对象导出到文件 冷备份:数据库关闭情况下 热备份:数据库启动情况下 RTO 恢复时间目标  故障发生到恢复所需时间 RPO 恢复点目标   可容忍丢失多少数据  一、增量备份 定期对数据库做基础备份,再配合WA...

C# 数据库dataGridView刷新数据和主外键判断

本文主要讲诉在使用VS2012+SQL Server数据库做系统中,通常会遇到几个问题.使用dataGridView控件在修改、删除、插入数据后,怎样刷新数据显示操作后的结果.同时在对数据操作时通常会判断数据的主键是否存在或重复,判断外键是否重复,这几个问题我推荐使用函数的形式完成,同时推荐一个操作格式,下面将详细介绍. 一.dataGridView刷新数...

SQL2000自动备份压缩删除数据库

create proc sp_backupasdeclare @dbname varchar(20),@cmd1 nvarchar(120),@cmd2 varchar(120),@cmd3 varchar(120),@i int,@filename varchar(80),@path varchar(80)set @dbname='TEST'--\\这是...

php中mysql数据库操作类 -李盛鹏 -博客园

本白演示的代码属于较为简单的数据库封装类,较适合初学。因为水平有限,见谅。 接着稍微说说整体的思路。整个类的封装,包含一个连接数据库的私有属性$conn和若干操作函数。$conn在对象实例化的时候,由构造函数处理传入的参数后返回一个资源型的连接句柄。而后即可通过调用该实例化的对象的相应方法对数据库进行增删查改的操作。 talk less and show...

PgSql备份pg_dump与还原手记pg_restore(转)

真没有想到,以前一直是PostgreSQL使用者,突然需要库移植又成了头一招了!原来它与mysql命令行操作区别还挺大。不用怕,但绝对要细心,因为数据库操作是网站的核心,一旦出现损坏或丢失,后果就非常严重了。我先写了步骤,然后按计划进行,虽然也出现了错误,但最终还是安全移植了。这里记录在案,以备后用。备份还原方法:pg_dump和pg_restore,先仔...