⑴ 資料庫連接池配置多少合適
不會啊,你想快的話當然是直接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資料庫多少數據量合適
這個看你的應用查詢數據量的大小,查詢值越多,資料庫壓力越大,還要看你負載均衡和建立索引,看你的並發量,即同一瞬間操作資料庫的次數