前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何估算一台数据库服务器能够承受的并发量?

如何估算一台数据库服务器能够承受的并发量?

作者头像
物流IT圈
发布2019-09-03 18:13:42
10.7K1
发布2019-09-03 18:13:42
举报
文章被收录于专栏:物流IT圈物流IT圈

内在因素

在估算之前我们必须清楚这台数据库服务器的配置是什么情况,正常情况下我们需要摸清楚以下几点因素:

  1. 什么数据库?是MySQL还是Oracle亦或是DB2、PostgreSQL等;
  2. 几核CPU?现代数据库应用都充分的运用了多核CPU的并行处理能力;
  3. 内存多大?数据库的索引数据、缓存数据都会进入内存中;
  4. 磁盘IO能力:数据库文件都存储在磁盘中,所以磁盘的IO能力将是影响数据库性能的最直接因素;
  5. 网络带宽:网络的上行和下行带宽,数据库服务器可支持的最大连接数是多少。

外在因素

天下武功,唯快不破”。

应用程序开发如此,SQL查询、操作也是如此。更快意味着服务器资源的快速释放,以便CPU能继续处理其他的任务请求。

我们在评估数据库的并发量的时候,即使数据库服务器性能再好,你做出的评估如果没有结合使用数据库的程序的话,那也是属于纸上谈兵。

结合以下实际情况,可以更准确安全的做数据库并发量评估或技术选型:

  1. 链接数据库的都有哪些程序?给APP用和给大数据团队做数据报表分析用完全是两码事;
  2. 业务数据量多大?最大的表能达到多少?是否需要分库?分表?
  3. 平均SQL执行时间多大?
  4. 业务程序总PV能达到多少,每天什么时间段是高峰期,高峰期持续多久?可以根据高峰期QPS来预估数据库要承受的并发量,在此基础上再做2倍、3倍的扩容,防止突然来的高流量冲击。

最好的办法是做压力测试

上面说的是数据库服务器的并发量预估考虑的内在因素和外在因素,根据这些因素我们便能预估出一台服务器需要承受的并发量是多大了。但是仅仅是预估,无法达到一个准确的数字,或者说这台数据库服务器最大能承受的并发量是多少也是无法知道的。

所以最好的办法是做数据库压力测试,压力测试的时候,我们可以一点一点的加压力,逐步的得出数据库的:

  • QPS:Queries Per Second 每秒处理的查询数(如果是数据库,就相当于读取)
  • TPS:Transactions Per Second 每秒处理的事务数(如果是数据库,就相当于写入、修改)
  • IOPS:每秒磁盘进行的I/O操作次数

得出这些数据,便能做到心中有数,也能准确的判断出能否支撑住接入的程序和业务。

常用的压测工具:

  • sysbench
  • Tpcc-mysql
  • mysqlslap

如何使用的问题大家可以google一下,也可以使用这些工具实验一下。

没有固定的公式去计算服务器的并发量,即使相同配置下的不同服务器,也无法做到相同水平的处理能力,必须结合服务器自身的情况和业务的具体情况做大致的预估,并最终进行全场景业务压力测试来确定具体并发数值。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 驼马精英 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内在因素
  • 外在因素
  • 最好的办法是做压力测试
  • 没有固定的公式去计算服务器的并发量,即使相同配置下的不同服务器,也无法做到相同水平的处理能力,必须结合服务器自身的情况和业务的具体情况做大致的预估,并最终进行全场景业务压力测试来确定具体并发数值。
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档