Jay*_*ram 7 sql-server hibernate amazon-web-services sql-server-2012
我正在使用SQL Server 2014 in AWS,AWS映像配置是4核和16GB RAM(m3.xlarge).我正在运行以下简单查询,
SELECT * FROM user_table WHERE user_id = '10'
Run Code Online (Sandbox Code Playgroud)
user_table包含1000k记录,user_id是主键.当通过EJB hibernate从我的应用程序执行上述简单查询时,CPU暂时上升到10%并再次恢复正常.
所以我的用例是,100个用户将同时尝试命中应用程序,因此在上述查询的一小部分中,上述查询将尝试在几分之一秒内执行.因此CPU使用率达到100%.完成所有查询执行后,CPU使用率恢复正常,为1%.
编辑1:
我的数据文件大小的另外一个信息32.2GB是894mb,我的数据库的日志文件大小.
我的数据库具有隔离级别READ_COMMITTED_SNAPSHOT is set to ON.但是当我尝试设置时READ_COMMITTED_SNAPSHOT to OFF,性能提升有20%的差异,但性能改进并不是那么大.
很难(不可能)用这么少的数据来确定,但对我来说这听起来很完美:100%CPU 意味着 sql-server 完全不受 IO 限制,而是仅使用 CPU 来执行查询,所以它可能会发现它所需的一切都在内存中,而且它还能够利用所有 CPU,因此也不存在瓶颈。
所以只要性能足够,就不用担心。当然,一旦系统有更多查询,事情可能会变得更有趣。我期望的一件事是数据会超出数据库缓存,因此 CPU 负载会下降,而 IO 会增加且性能会下降。
| 归档时间: |
|
| 查看次数: |
1887 次 |
| 最近记录: |