⑴ 数据库连接池配置多少合适
不会啊,你想快的话当然是直接JDBC这样会更快,
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
所以说,你自己这样是测试不出来的。
⑵ mysql最大连接数设置多少比较合理
这个与业务相关的
比方一个连接保持多久,或者并发多大,都影响连接数的设置
监控结果可以供参考,比方监控到锁一类的问题:
上图是 jprofiler 监控到的线程死锁,这就怀疑到数据库连接数了
然后进入数据库,查下当前连接数,估计就是设置的太大了
就这样子一点一点观察,找到合适的连接数
⑶ mysql数据库表字段多少合适
主要是消除空字段,这个很关键,有专门的函数
svg.append("path")
.datum(topojson.mesh(uk, uk.objects.subunits, function(a, b) { return a !== b && a.id !== "IRL"; }))
.attr("d", path)
.attr("class", "subunit-boundary").
⑷ 请问mysql数据库的数据表字段数多少个比较合适 - 技术问答
主要是消除空字段,这个很关键,有专门的函数
⑸ mysql 连接数 设置 多少合适
MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考。
我们经常会遇见“MySQL: ERROR 1040: Too many connections”的情况,通常,mysql的最大连接数默认是100, 最大可以达到16384。
一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小:
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 256 |
+-----------------+-------+
这台MySQL服务器最大连接数是256,然后查询一下服务器响应的最大连接数:
mysql> show global status like 'Max_used_connections';
MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:
Max_used_connections / max_connections * 100% ≈ 85%
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了
在Windows下常用的有两种方式修改最大连接数。
第一种:命令行修改。
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like 'max_connections';(查可以看当前的最大连接数)
msyql>set global max_connections=1000;(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit(推出)
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
第二种:修改配置文件。
这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 my.cnf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。但是有一点最难的就是my.ini这个文件在哪找。通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下。
与连接数相关的几个参数:
在修改最大连接数的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。可以在global或session范围内修改这个参数。连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。
首先看一下MySQL的状态:
mysql> status;
--------------
mysql Ver 14.14 Distrib 5.5.15, for Win32 (x86)
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.5.15 MySQL Community Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 1 hour 3 min 27 sec
Threads: 12 Questions: 18 Slow queries: 10 Opens: 33 Flush tables: 5 Open tab
les: 34 Queries per second avg: 6.256
--------------
Open tables:34,即当前数据库打开表的数量是34个,注意这个34并不是实际的34个表,因为MySQL是多线程的系统,几个不同的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。因此连接数的增加会导致MySQL需要的文件描述符数目的增加。另外对于MyISAM表,还会建立一个共享的索引文件描述符。
在MySQL数据库层面,有几个系统参数决定了可同时打开的表的数量和要使用的文件描述符,那就是table_open_cache、max_tmp_tables和open_files_limit。
mysql> show variables like 'table_open%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| table_open_cache | 256 |
+------------------+-------+
1 row in set (0.00 sec)
table_open_cache:256,这就是说所有的MySQL线程一共能同时打开256个表,我们可以搜集系统的打开表的数量的历史记录和这个参数来对比,决定是否要增加这个参数的大小。查看当前的打开表的数目(Open tables)可用上边提到过的status命令,另外可以直接查询这个系统变量的值:
mysql> show status like 'open_tables';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 3 |
+---------------+-------+
1 row in set (0.00 sec)
Open_tables就是当前打开表的数目,通过flush tables命令可以关闭当前打开的表。 这个值如果过大,并且如果没有经常的执行flush tables命令,可以考虑增加table_open_cache参数的大小。
接下来看max_tmp_tables:
mysql> show variables like 'max_tmp%';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| max_tmp_tables | 32 |
+----------------+-------+
1 row in set (0.00 sec)
max_tmp_tables:32即单个客户端连接能打开的临时表数目。查看当前已打开的临时表的信息:
mysql> show global status like '%tmp%table%';
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 0 |
| Created_tmp_tables | 11 |
+-------------------------+-------+
2 rows in set (0.00 sec)
根据这两个值可以判断临时表的创建位置,一般选取BLOB和TEXT列、Group by 和 Distinct语句的数据量超过512 bytes,或者union的时候select某列的数据超过512 bytes的时候,就直接在磁盘上创建临时表了,另外内存中的临时表变大的时候,也可能被MySQL自动转移到磁盘上(由tmp_table_size和max_heap_table_size参数决定)。
增加table_open_cache或max_tmp_tables 参数的大小后,从操作系统的角度看,mysqld进程需要使用的文件描述符的个数就要相应的增加,这个是由open_files_limit参数控制的。
mysql> show variables like 'open_files%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 2670 |
+------------------+-------+
1 row in set (0.00 sec)
但是这个参数是OS限制的,所以我们设定的值并不一定总是生效。如果OS限制MySQL不能修改这个值,那么置为0。如果是专用的MySQL服务器上,这个值一般要设置的尽量大,就是设为没有报Too many open files错误的最大值,这样就能一劳永逸了。当操作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。
相应的,有两个状态变量记录了当前和历史的文件打开信息:
mysql> show global status like '%open%file%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_files | 0 |
| Opened_files | 76 |
+---------------+-------+
2 rows in set (0.00 sec)
MySQL为每个连接分配线程来处理,可以通过threads_connected参数查看当前分配的线程数量:
mysql> show status like '%thread%';
+------------------------------------------+-------+
| Variable_name | Value |
+------------------------------------------+-------+
| Delayed_insert_threads | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+------------------------------------------+-------+
8 rows in set (0.00 sec)
比较threads_connected参数和前面提到的max_connections参数,也可以作为目前的系统负载的参照,决定是否需要修改连接数。
查看每个线程的详细信息:mysql>show processlist;对影响系统运行的线程:kill connection|query threadid的命令杀死。
⑹ sql server 属性配置最大内存设为多少合适
SQL Server 使用内存有两种情况:
第一种情况: 动态改变它的内存需求。
默认情况下,SQL Server 会依据可获得的系统资源动态改变它的内存需求。如果 SQL Server 需要更多的内存,它会要求操作系统确定是否有空闲的物理内存可用,并使用可用的内存。若 SQL Server 不再需要当前分配给它的内存,它就将内存释放给操作系统。当 SQL Server 动态使用内存时,它要求系统定期地检测可用的物理内存数量。SQL Server 根据服务器活动增大或收缩高速缓冲存储器,以使可用物理内存保持在 4 MB 到 10 MB 之间。这就避免了系统进行换页操作。
[也就是说,这种情况下SQL SERVER 本身不会使物理可用内存小于4M,如果比较长的时间内都小于4M的话,则要看一下是不是该服务器上其它应用程序有问题]
第二种情况:限制使用内存
使用 set working set size 为sql server保留等于服务器内存设置的物理内存空间。即使是sql server 进程此时是空闲的,系统也不会将 SQL Server 页交换出去。
使用min server memory 保证sql server 使用的最小内存。SQL Server 启动时不立即分配 min server memory 中所指定的内存量。但是,当内存使用由于客户端负荷而达到该值后,SQL Server 将无法从已分配的缓冲池中释放内存。
使用max server memory 则防止 SQL Server 使用多于指定数量的内存,这样剩余的可用内存可以快速运行其它应用程序。SQL Server 启动时不立即分配 max server memory 中所指定的内存。内存使用随 SQL Server 的需要而增长,直到达到 max server memory 中所指定的值。SQL Server 无法超过该内存使用值,除非增加 max server memory 值。
第一种情况比较适用于服务器专做sql server服务器的情况,第二种情况适用于为在同一台计算机上运行的其它应用程序保留一定的内存以便于快速响应。(另:如果想动态分配sql server 的内存,则不要设置set working set size 选项,使用默认值即可。至于这些参数如何设置参见另外的文档)
监视 SQL Server 所使用的内存和计数器有助于确定:
是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。
是否可通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。
SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理 I/O 会耗费大量时间。尽可能减少物理 I/O 可以提高查询性能。
对sql server服务器内存的监视:
Memory:Available Bytes
计数器表示当前进程可使用的物理内存字节数。
如果小于4M或更小,说明计算机上总的内存可能不足,或某个程序没有释放内存
● Memory: Page Faults / sec
每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存指定工作集中立即使用。
如果该值偶尔走高,表明当时有线程竞争内存。如果持续很高,则内
存可能是瓶颈。
Memory:Pages/sec
计数器表示由于缺页处理而从磁盘取回的页数,或由于缺页处理而写入磁盘以释放工作集空间的页数。
● Page Reads/sec
每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。
● Page Writes/sec
所发出的物理数据库页写入的数目。
监视 SQL Server 正在使用的内存量:
Process:Working Set
计数器表示的是一个进程所占用的内存数量。
若这一数值持续低于 SQL Server 配置使用的内存数量(由"最小服务器内存"和"最大服务器内存"服务器选项设置,( min server memory 的默认设置为 0,max server memory 的默认设置为 2147483647。),则表示 SQL Server 所配置的内存比它所需要的多。否则,用"设置工作集大小"服务器选项修改工作集大小。
[在设置了sql server 使用的最小 和 最大内存后,查看此参数比较有意义。如果没有设置sql server 内存使用范围,则该值可以与系统总的内存比较,设置分配给sql server 的最大最小内存分配的是物理内存+虚拟内存的一部分]
● SQL Server:Buffer Manager:Buffer Cache Hit Ratio
数据请求可以从数据缓冲区中获得所需数据的成功率
计数器值依应用程序而定,但比率最好为 90% 或更高。增加内存直到这一数值持续高于 90%,表示 90% 以上的数据请求可以从数据缓冲区中获得所需数据。
● SQL Server:Buffer Manager: Total Pages
缓冲区池中页的数目(包括数据库、可用页和被盗用页)
若 Total Server Memory (KB) 计数器值与计算机的物理内存大小相比一直很高,可能表示需要更多的内存
结论:
对sql server 服务器内存的监视,可以看出该服务器整体的内存的占用情况
对 sql server 使用内存的监视, 可以看出是否是sql server 使用了大多数内存
根据监视的结果确定是否是内存不够。
其它:
内存相关参数调整(见后面)
SQL Server 对象内存使用情况说明(见后面)
疑问:
使用 set working set size =1 后,系统是在sql server 启动时就分配给它要求的内存 还是 开始不分配这么多,而是等到用了这么多之后不释放就行了?
SQL Server 对象内存使用情况说明
下表列出 Microsoft® SQL Server™ 中不同对象的内存使用量。下表中的信息不适用于 Microsoft® SQL Server 2000™ Windows® CE 版。
对象大小
对象 SQL Server 7.0 SQL Server 2000
锁 96 字节 每个所有者 64 字节外加 32 字节。
开放式数据库 2.880 字节 每个文件 3924 字节外加 1640 字节,每个文件组 336 字节。
开放式对象1 276 字节 每个对象上打开的索引 256 字节外加 1724 字节2。
用户联接 12 KB +(3 * 网络数据包大小)3。 12 KB +(3 * 网络数据包大小)3。
3 开放式对象包括所有的表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束。
2 在表或视图上可以打开索引。
3 网络数据包大小是表格格式数据方案 (TDS) 数据包的大小,该数据包用于应用程序和关系数据库引擎之间的通讯。默认的数据包大小为 4 KB,由 network packet size 配置选项控制。
内存相关:
服务器虚拟内存的配置
页面文件和物理内存或RAM构成虚礼内存
虚拟内存设置方法:
启动"控制面板"的"系统"选项,然后选择"虚拟内存"按钮来创建一个附加的页面文件或增加当前页面文件的大小。
虚拟内存不足:
当服务器上运行的应用程序请求的内存超过服务器上可用的内存时,Microsoft® Windows® 打开"服务器进程 — 虚拟内存用完"对话框,其文本如下所示:
系统的虚拟内存已经不足。请关闭一些应用程序。可以启动"控制面板"的"系统"选项,然后选择"虚拟内存"按钮来创建一个附加的页面文件或增加当前页面文件的大小。
一般情况下,将虚拟内存大小设置为计算机中安装的物理内存的 1.5 倍
如果另外安装了全文检索功能,并打算运行 Microsoft 搜索服务以便执行全文索引和查询,可考虑:
将虚拟内存大小配置为至少是计算机中安装的物理内存的 3 倍。
● 将 SQL Server max server memory 服务器配置选项配置为物理内存的 1.5 倍(虚拟内存大小设置的一半)。
如考虑其它服务需要的虚拟内存,则配置 SQL Server max server memory 选项,使得留有足够的虚拟内存满足全文检索内存需求。全部虚拟内存 -(SQL Server 最大虚拟内存 + 其它服务需要的虚拟内存)>= 1.5 倍物理内存。
Sql server 使用的内存参数的配置:
手工配置给 SQL Server 多于物理内存数量的虚拟内存会导致性能较低。默认情况下,SQL Server 能够可用系统资源动态改变它的内存需求。min server memory 的默认设置为 0,max server memory 的默认设置为 2147483647。可以为 max server memory 指定的最小内存量为 4 MB。
作用:如果在运行 SQL Server 实例的计算机上频繁启动或停止其它应用程序,启动这些应用程序所需的时间可能会因 SQL Server 实例分配和释放内存而延长。另外,如果 SQL Server 是几个在一台计算机上运行的服务器应用程序中的一个,系统管理员可能需要控制分配给 SQL Server 的内存量。在这些情况下,可以使用 min server memory 和 max server memory 选项控制 SQL Server 可以使用的内存量。
对SQL Sserver 使用内存的配置主要是对以下三个参数进行配置:
min server memory 保证了 SQL Server 实例使用的最小内存量。
max server memory 则可防止 SQL Server 使用多于指定数量的内存,这样剩余的可用内存可以快速运行其它应用程序。
set working set size 为 SQL Server 保留等于服务器内存设置的物理内存空间。
手工设置 SQL Server 内存选项有两种主要方法:
第一种方法,设置 min server memory 和 max server memory 为同一数值。该数值与分配给 SQL Server 的固定内存量相对应。
● 第二种方法,把 min server memory 和 max server memory 数量设置到一个范围段内。这种方法在系统或数据库管理员希望配置 SQL Server 实例,使其适应在同一台计算机上运行的其它应用程序的内存需求时很有用。
如果只设置了min server memory 和 max server memory ,sql server 使用的内存值在最小和最大值之间变动(如果sql server 使用的值超过过最小值的话)
如果设置set working set size =1,必须先将min server memory 和 max server memory的值设成同一个值,这个值就是为sql server 保留的物理内存空间。即使当 SQL Server 空闲,另一个进程可以使用 SQL Server 页时,系统也不会将 SQL Server 页交换出去。
参数的设置方法:
1. 在查询分析器中运行 [要先运行下面的语句,否则内存页面打不开]
use master
exec sp_configure 'show advanced option','1'
2. 在企业管理器中配置,步骤:
打开Sql Server 属性配置,选择内存页面,然后在里面配置就行了。
(不过这里用图形界面配置内存的时候好像不能超过物理内存的大小,可以用命令来分配大于物理内存的内存空间,下面有简单的介绍。 )
对上图的说明:
动态配置 SQL Server 内存
指定在更改服务器属性之后立即配置 Microsoft® SQL Server™ 内存。
使用固定的内存大小
为 SQL Server 指定固定的内存大小。
为 SQL Server 保留物理内存
为 SQL Server 保留与内存设置相等的物理内存空间。这意味着 Microsoft Windows NT® 4.0 或 Windows® 2000 不会将 SQL Server 页交换出去,即使当 SQL Server 闲置时可以更容易地使用这些页。
最小查询内存
设置可以分配给每个用户执行查询的最小内存大小。默认为 1024 KB。
配置值[显示现在配置的值,不做其它用途]
查看或更改此选项卡上的选项的配置值。如果更改了这些值,单击"运行值"查看更改是否已生效。如果没有,必须重新启动 SQL Server 实例才能使更改生效。
运行值[显示现在运行值,不做其它用途]
查看此选项卡上的选项的当前运行值。这些值为只读值。
另:如果要用命令来设置比较麻烦。如下简单举个例子:
Set working set size 设置方法:
set working set size 是一个高级选项。如果要用 sp_configure 系统存储过程改变该选项,必须把 show advanced options 设置为 1,该选项在停止并重新启动服务器后生效。
设置 show advanced options 设置为 1,在查询分析器中运行以下命令:
use master
exec sp_configure 'show advanced option','1'
如果成功,会返回如下结果:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'show advanced options' 从 1 改为 1。请运行 RECONFIGURE 语句以安装。
设置set working set size =1,运行如下命令:
use master
exec sp_configure 'set working set size','1'
如果成功,会返回如下结果:
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
已将配置选项 'set working set size' 从 0 改为 1。请运行 RECONFIGURE 语句以安装。
…………………………………………
Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procere Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。
设置架构高速缓存:
架构高速缓存可显着提高 XPath 查询的性能。当对带批注的 XDR 架构执行 XPath 查询时,架构存储在内存中,而必要的数据结构内置在内存中。如果设置了架构高速缓存,架构仍保留在内存中,因而提高了后续 Xpath 查询的性能。
解释:
架构-SCHEMA
CREATE SCHEMA
创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的对象。
CREATE SCHEMA 提供了在单个语句中创建表、视图以及授予对象权限的方法。如果在创建任何对象或授予任何权限(这些是在 CREATE SCHEMA 语句中指定的)时发生错误,则不会创建任何对象。
XPath查询-Xpath(XML Path 语言)是一种图形导航语言
个人理解简单的说就是在URL中指定查询。[详细知识参照sql server 联机帮助文档]
设置方法:
可通过在注册表中添加下列键来设置架构高速缓存的大小:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SQLXMLX\SchemaCacheSize。
[我在注册表中没找到位置!?]
根据可用内存和要使用的架构数设置架构大小。默认的架构高速缓存大小为 31。如果设置更高的架构高速缓存大小,需使用更多的内存。因此,如果架构访问速度慢,可增加高速缓存大小,如果内存少则可减小高速缓存的大小。
出于性能方面的考虑,建议将架构高速缓存的大小设得比通常所用的映射架构数多。当架构数增加时,如果架构高速缓存的大小比所拥有的架构数少,性能会降低。
⑺ 2000人在线 数据库连接池 设置多少合适
这个要看峰值、平均值。如果自己定义的连接池,那么定时把当前连接池的使用情况统计下来并记录日志。如果是开源的连接池或者是web容器提供的连接池,那
么通过jmx定时获取连接池状态信息。长期观察,可以得到连接池的峰值、平均值,然后设置一个介于平均值与峰值之间的连接数,基本上就是最佳的配置了。
一般情况下,初始连接数、最大连接数保持一致。这个类似于jvm的xms、xmx设置。
⑻ mysql数据库最大连接数可以设置为多少
MySQL服务器的最大并发连接数是16384。
MySQL作为一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。
MySQL服务器的最大并发连接数受服务器配置,及网络环境等制约,实际服务器支持的并发连接数会小一些,主要决定因素有:
服务器CPU及内存的配置,网络的带宽。
互联网连接中上行带宽的影响尤为明显。
(8)数据库设置多少合适扩展阅读:
与其他的大型数据库例如Oracle、IBM DB2、MS SQL等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人用户和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
由于这四个软件都是开放源码软件,因此使用这种方式可以以较低的成本创建起一个稳定、免费的网站系统。MySQL加PHP的配对在互联网上的应用相比LAMP来说更为常见,并获得了动态配对的雅号,大部分Blog网站基于的WordPress系统主要运用MySQL加PHP的配对。除了LAMP之外,用于Solaris、Windows和Mac上的网站构架也分别被称为SAMP、WAMP和MAMP。
⑼ sqlserver 数据库连接数设置多大合适
SQL SERVER 理论上有32767个逻辑连接,SQL SERVER根据系统自行调配连接池。
操作系统的用户数:即同时通过网络连接到这台电脑上面的用户限制,以5用户操作系统,搭建的文件服务器为例,去同时访问这个文件服务器的网络用户为5个。
购买数据库有两种方式:
1、根据用户数购买。
2、根据cpu个数购买。
根据用户数购买,假如购买了一个50用户的数据库,那么可以通过网络访问数据库的人数限制为50。
根据cpu个数购买的数据库访问人数不受限制,服务器上面有几颗cpu就要买几个授权的SQL
server,但是如果你只买一个授权的话数据库也可以正常运行,但是微软认为你的数据库不合法。就如同盗版系统。
一个连接不等于一个用户,单独一个用户可以有超过一个的连接,单独一个连接可以有超过一个用户。
如何监测SQLServer的连接数:
SP_WHO 'loginName'
loginName
是当然登陆Sql的用户名,一般程序里面都会使用一个username来登陆SQL这样通过这个用户名就能查看到此用户名登陆之后占用的连接了。如果不写loginName,那么返回的就是所有的连接。
既然连接数是可预测、可监测的,那么就是可度量的,就可以根据实际情况来评估或测试程序的并发放量了。
⑽ mysql数据库多少数据量合适
这个看你的应用查询数据量的大小,查询值越多,数据库压力越大,还要看你负载均衡和建立索引,看你的并发量,即同一瞬间操作数据库的次数