国产超碰人人做人人爽av动图,99久久免费只有精品国产,青青视频精品观看视频,亚洲成a人片在线观看无码下载 ,天天做av天天爱天天爽,国产亚洲精品一区二三区,国产高清视频色拍,亚洲乱理伦片在线观看中字
MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計(jì)-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國(guó)
我們通過(guò)擁抱變化創(chuàng)造
360°的品牌價(jià)值__
簡(jiǎn)體
簡(jiǎn)體中文 English

尚品與山東真諾智能設(shè)備有限公司簽署網(wǎng)站改版合作協(xié)議

類型:尚品動(dòng)態(tài) 了解更多

MySQL服務(wù)器優(yōu)化技巧手冊(cè)

來(lái)源:尚品中國(guó)| 類型:網(wǎng)站百科 |時(shí)間:2018-08-10
如今,開發(fā)人員不斷地開發(fā)和部署使用 LAMP(Linux®、Apache、MySQL 和 PHP/Perl)架構(gòu)的應(yīng)用程序。但是,服務(wù)器管理員常常對(duì)應(yīng)用程序本身沒有什么控制能力,因?yàn)閼?yīng)用程序是別人編寫的。這份 共三部分的系列文章 將討論許多服務(wù)器配置問(wèn)題,這些配置會(huì)影響應(yīng)用程序的性能。本文是本系列文章的第三部分,也是最后一部分,將重點(diǎn)討論為實(shí)現(xiàn)最高效率而對(duì)數(shù)據(jù)庫(kù)層進(jìn)行的調(diào)優(yōu)。
關(guān)于 MySQL調(diào)優(yōu)
有3種方法可以加快 MySQL 服務(wù)器的運(yùn)行速度,效率從低到高依次為:
替換有問(wèn)題的硬件。對(duì) MySQL 進(jìn)程的設(shè)置進(jìn)行調(diào)優(yōu)。 對(duì)查詢進(jìn)行優(yōu)化。
替換有問(wèn)題的硬件通常是我們的第一考慮,主要原因是數(shù)據(jù)庫(kù)會(huì)占用大量資源。不過(guò)這種解決方案也就僅限于此了。實(shí)際上,您通常可以讓中央處理器(CPU)或磁盤速度加倍,也可以讓內(nèi)存增大4到8倍。
第二種方法是對(duì) MySQL 服務(wù)器(也稱為 mysqld)進(jìn)行調(diào)優(yōu)。對(duì)這個(gè)進(jìn)程進(jìn)行調(diào)優(yōu)意味著適當(dāng)?shù)胤峙鋬?nèi)存,并讓 mysqld 了解將會(huì)承受何種類型的負(fù)載。加快磁盤運(yùn)行速度不如減少所需的磁盤訪問(wèn)次數(shù)。類似地,確保 MySQL 進(jìn)程正確操作就意味著它花費(fèi)在服務(wù)查詢上的時(shí)間要多于花費(fèi)在處理后臺(tái)任務(wù)(如處理臨時(shí)磁盤表或打開和關(guān)閉文件)上的時(shí)間。對(duì) mysqld 進(jìn)行調(diào)優(yōu)是本文的重點(diǎn)。
最好的方法是確保查詢已經(jīng)進(jìn)行了優(yōu)化。這意味著對(duì)表應(yīng)用了適當(dāng)?shù)乃饕樵兪前凑湛梢猿浞掷?MySQL 功能的方式來(lái)編寫的。盡管本文并沒有包含查詢調(diào)優(yōu)方面的內(nèi)容(很多著作中已經(jīng)針對(duì)這個(gè)主題進(jìn)行了探討),不過(guò)它會(huì)配置 mysqld 來(lái)報(bào)告可能需要進(jìn)行調(diào)優(yōu)的查詢。
雖然已經(jīng)為這些任務(wù)指派了次序,但是仍然要注意硬件和 mysqld 的設(shè)置以利于適當(dāng)?shù)卣{(diào)優(yōu)查詢。機(jī)器速度慢也就罷了,我曾經(jīng)見過(guò)速度很快的機(jī)器在運(yùn)行設(shè)計(jì)良好的查詢時(shí)由于負(fù)載過(guò)重而失敗,因?yàn)?mysqld 被大量繁忙的工作所占用而不能服務(wù)查詢。
 
記錄慢速查詢
在一個(gè) SQL 服務(wù)器中,數(shù)據(jù)表都是保存在磁盤上的。索引為服務(wù)器提供了一種在表中查找特定數(shù)據(jù)行的方法,而不用搜索整個(gè)表。當(dāng)必須要搜索整個(gè)表時(shí),就稱為表掃描。通常來(lái)說(shuō),您可能只希望獲得表中數(shù)據(jù)的一個(gè)子集,因此全表掃描會(huì)浪費(fèi)大量的磁盤 I/O,因此也就會(huì)浪費(fèi)大量時(shí)間。當(dāng)必須對(duì)數(shù)據(jù)進(jìn)行連接時(shí),這個(gè)問(wèn)題就更加復(fù)雜了,因?yàn)楸仨氁獙?duì)連接兩端的多行數(shù)據(jù)進(jìn)行比較。
當(dāng)然,表掃描并不總是會(huì)帶來(lái)問(wèn)題;有時(shí)讀取整個(gè)表反而會(huì)比從中挑選出一部分?jǐn)?shù)據(jù)更加有效(服務(wù)器進(jìn)程中查詢規(guī)劃器用來(lái)作出這些決定)。如果索引的使 用效率很低,或者根本就不能使用索引,則會(huì)減慢查詢速度,而且隨著服務(wù)器上的負(fù)載和表大小的增加,這個(gè)問(wèn)題會(huì)變得更加顯著。執(zhí)行時(shí)間超過(guò)給定時(shí)間范圍的查 詢就稱為慢速查詢。
您可以配置 mysqld 將這些慢速查詢記錄到適當(dāng)命名的慢速查詢?nèi)罩局小9芾韱T然后會(huì)查看這個(gè)日志來(lái)幫助他們確定應(yīng)用程序中有哪些部分需要進(jìn)一步調(diào)查。清單 1 給出了要啟用慢速查詢?nèi)罩拘枰?my.cnf 中所做的配置。
 
清單 1、啟用 MySQL 慢速查詢?nèi)罩?/strong>
[mysqld]
; enable the slow query log, default 10 seconds
log-slow-queries
; log queries taking longer than 5 seconds
long_query_time = 5
; log queries that don't use indexes even if they take less than long_query_time
; MySQL 4.1 and newer only
log-queries-not-using-indexes
 
這三個(gè)設(shè)置一起使用,可以記錄執(zhí)行時(shí)間超過(guò) 5 秒和沒有使用索引的查詢。請(qǐng)注意有關(guān) log-queries-not-using-indexes 的警告:您必須使用 MySQL 4.1 或更高版本。慢速查詢?nèi)罩径急4嬖?MySQL 數(shù)據(jù)目錄中,名為 hostname-slow.log。如果希望使用一個(gè)不同的名字或路徑,可以在 my.cnf 中使用 log-slow-queries = /new/path/to/file 實(shí)現(xiàn)此目的。
閱讀慢速查詢?nèi)罩咀詈檬峭ㄟ^(guò) mysqldumpslow 命令進(jìn)行。指定日志文件的路徑,就可以看到一個(gè)慢速查詢的排序后的列表,并且還顯示了它們?cè)谌罩疚募谐霈F(xiàn)的次數(shù)。一個(gè)非常有用的特性是 mysqldumpslow 在比較結(jié)果之前,會(huì)刪除任何用戶指定的數(shù)據(jù),因此對(duì)同一個(gè)查詢的不同調(diào)用被計(jì)為一次;這可以幫助找出需要工作量最多的查詢。
 
對(duì)查詢進(jìn)行緩存
很多 LAMP 應(yīng)用程序都嚴(yán)重依賴于數(shù)據(jù)庫(kù),但卻會(huì)反復(fù)執(zhí)行相同的查詢。每次執(zhí)行查詢時(shí),數(shù)據(jù)庫(kù)都必須要執(zhí)行相同的工作 —— 對(duì)查詢進(jìn)行分析,確定如何執(zhí)行查詢,從磁盤中加載信息,然后將結(jié)果返回給客戶機(jī)。MySQL 有一個(gè)特性稱為查詢緩存,它將(后面會(huì)用到的)查詢結(jié)果保存在內(nèi)存中。在很多情況下,這會(huì)極大地提高性能。不過(guò),問(wèn)題是查詢緩存在默認(rèn)情況下是禁用的。
將 query_cache_size = 32M 添加到 /etc/my.conf 中可以啟用 32MB 的查詢緩存。
 
監(jiān)視查詢緩存
在啟用查詢緩存之后,重要的是要理解它是否得到了有效的使用。MySQL 有幾個(gè)可以查看的變量,可以用來(lái)了解緩存中的情況。清單 2 給出了緩存的狀態(tài)。
清單 2、顯示查詢緩存的統(tǒng)計(jì)信息
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| Qcache_free_blocks      | 5216       |
| Qcache_free_memory      | 14640664   |
| Qcache_hits             | 2581646882 |
| Qcache_inserts          | 360210964 |
| Qcache_lowmem_prunes    | 281680433 |
| Qcache_not_cached       | 79740667   |
| Qcache_queries_in_cache | 16927      |
| Qcache_total_blocks     | 47042      |
+-------------------------+------------+
8 rows in set (0.00 sec)這些項(xiàng)的解釋如表 1 所示。
表 1、MySQL 查詢緩存變量
 
變量名 說(shuō)明
Qcache_free_blocks 緩存中相鄰內(nèi)存塊的個(gè)數(shù)。數(shù)目大說(shuō)明可能有碎片。FLUSH QUERY CACHE 會(huì)對(duì)緩存中的碎片進(jìn)行整理,從而得到一個(gè)空閑塊。
Qcache_free_memory 緩存中的空閑內(nèi)存。
Qcache_hits 每次查詢?cè)诰彺嬷忻袝r(shí)就增大。
Qcache_inserts 每次插入一個(gè)查詢時(shí)就增大。命中次數(shù)除以插入次數(shù)就是不中比率;用 1 減去這個(gè)值就是命中率。在上面這個(gè)例子中,大約有 87% 的查詢都在緩存中命中。
Qcache_lowmem_prunes 緩存出現(xiàn)內(nèi)存不足并且必須要進(jìn)行清理以便為更多查詢提供空間的次數(shù)。這個(gè)數(shù)字最好長(zhǎng)時(shí)間來(lái)看;如果這個(gè)數(shù)字在不斷增長(zhǎng),就表示可能碎片非常嚴(yán)重,或者內(nèi)存很少。(上面的 free_blocks 和 free_memory 可以告訴您屬于哪種情況)。
Qcache_not_cached 不適合進(jìn)行緩存的查詢的數(shù)量,通常是由于這些查詢不是 SELECT 語(yǔ)句。
Qcache_queries_in_cache 當(dāng)前緩存的查詢(和響應(yīng))的數(shù)量。
Qcache_total_blocks 緩存中塊的數(shù)量。
通常,間隔幾秒顯示這些變量就可以看出區(qū)別,這可以幫助確定緩存是否正在有效地使用。運(yùn)行 FLUSH STATUS 可以重置一些計(jì)數(shù)器,如果服務(wù)器已經(jīng)運(yùn)行了一段時(shí)間,這會(huì)非常有幫助。
使用非常大的查詢緩存,期望可以緩存所有東西,這種想法非常誘人。由于 mysqld 必須要對(duì)緩存進(jìn)行維護(hù),例如當(dāng)內(nèi)存變得很低時(shí)執(zhí)行剪除,因此服務(wù)器可能會(huì)在試圖管理緩存時(shí)而陷入困境。作為一條規(guī)則,如果 FLUSH QUERY CACHE 占用了很長(zhǎng)時(shí)間,那就說(shuō)明緩存太大了。
 
強(qiáng)制限制
您可以在 mysqld 中強(qiáng)制一些限制來(lái)確保系統(tǒng)負(fù)載不會(huì)導(dǎo)致資源耗盡的情況出現(xiàn)。清單 3 給出了 my.cnf 中與資源有關(guān)的一些重要設(shè)置。
清單 3、MySQL 資源設(shè)置
set-variable=max_connections=500
set-variable=wait_timeout=10
max_connect_errors = 100
連接最大個(gè)數(shù)是在第一行中進(jìn)行管理的。與 Apache 中的 MaxClients 類似,其想法是確保只建立服務(wù)允許數(shù)目的連接。要確定服務(wù)器上目前建立過(guò)的最大連接數(shù),請(qǐng)執(zhí)行 SHOW STATUS LIKE 'max_used_connections'。
第 2 行告訴 mysqld 終止所有空閑時(shí)間超過(guò) 10 秒的連接。在 LAMP 應(yīng)用程序中,連接數(shù)據(jù)庫(kù)的時(shí)間通常就是 Web 服務(wù)器處理請(qǐng)求所花費(fèi)的時(shí)間。有時(shí)候,如果負(fù)載過(guò)重,連接會(huì)掛起,并且會(huì)占用連接表空間。如果有多個(gè)交互用戶或使用了到數(shù)據(jù)庫(kù)的持久連接,那么將這個(gè)值設(shè) 低一點(diǎn)并不可取!
最后一行是一個(gè)安全的方法。如果一個(gè)主機(jī)在連接到服務(wù)器時(shí)有問(wèn)題,并重試很多次后放棄,那么這個(gè)主機(jī)就會(huì)被鎖定,直到 FLUSH HOSTS 之后才能運(yùn)行。默認(rèn)情況下,10 次失敗就足以導(dǎo)致鎖定了。將這個(gè)值修改為 100 會(huì)給服務(wù)器足夠的時(shí)間來(lái)從問(wèn)題中恢復(fù)。如果重試 100 次都無(wú)法建立連接,那么使用再高的值也不會(huì)有太多幫助,可能它根本就無(wú)法連接。
 
緩沖區(qū)和緩存
MySQL 支持超過(guò) 100 個(gè)的可調(diào)節(jié)設(shè)置;但是幸運(yùn)的是,掌握少數(shù)幾個(gè)就可以滿足大部分需要。查找這些設(shè)置的正確值可以通過(guò) SHOW STATUS 命令查看狀態(tài)變量,從中可以確定 mysqld 的運(yùn)作情況是否符合我們的預(yù)期。給緩沖區(qū)和緩存分配的內(nèi)存不能超過(guò)系統(tǒng)中的現(xiàn)有內(nèi)存,因此調(diào)優(yōu)通常都需要進(jìn)行一些妥協(xié)。
MySQL 可調(diào)節(jié)設(shè)置可以應(yīng)用于整個(gè) mysqld 進(jìn)程,也可以應(yīng)用于單個(gè)客戶機(jī)會(huì)話。
 
服務(wù)器端的設(shè)置
每個(gè)表都可以表示為磁盤上的一個(gè)文件,必須先打開,后讀取。為了加快從文件中讀取數(shù)據(jù)的過(guò)程,mysqld 對(duì)這些打開文件進(jìn)行了緩存,其最大數(shù)目由 /etc/mysqld.conf 中的 table_cache 指定。清單 4 給出了顯示與打開表有關(guān)的活動(dòng)的方式。
清單 4、顯示打開表的活動(dòng)
mysql> SHOW STATUS LIKE 'open%tables';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables   | 5000 |
| Opened_tables | 195   |
+---------------+-------+
2 rows in set (0.00 sec)
清單 4 說(shuō)明目前有 5,000 個(gè)表是打開的,有 195 個(gè)表需要打開,因?yàn)楝F(xiàn)在緩存中已經(jīng)沒有可用文件描述符了(由于統(tǒng)計(jì)信息在前面已經(jīng)清除了,因此可能會(huì)存在 5,000 個(gè)打開表中只有 195 個(gè)打開記錄的情況)。如果 Opened_tables 隨著重新運(yùn)行 SHOW STATUS 命令快速增加,就說(shuō)明緩存命中率不夠。如果 Open_tables 比 table_cache 設(shè)置小很多,就說(shuō)明該值太大了(不過(guò)有空間可以增長(zhǎng)總不是什么壞事)。例如,使用 table_cache = 5000 可以調(diào)整表的緩存。
與表的緩存類似,對(duì)于線程來(lái)說(shuō)也有一個(gè)緩存。mysqld 在接收連接時(shí)會(huì)根據(jù)需要生成線程。在一個(gè)連接變化很快的繁忙服務(wù)器上,對(duì)線程進(jìn)行緩存便于以后使用可以加快最初的連接。
清單 5、顯示如何確定是否緩存了足夠的線程。
mysql> SHOW STATUS LIKE 'threads%';
+-------------------+--------+
| Variable_name     | Value |
+-------------------+--------+
| Threads_cached    | 27     |
| Threads_connected | 15     |
| Threads_created   | 838610 |
| Threads_running   | 3      |
+-------------------+--------+
4 rows in set (0.00 sec)
此處重要的值是 Threads_created,每次 mysqld 需要?jiǎng)?chuàng)建一個(gè)新線程時(shí),這個(gè)值都會(huì)增加。如果這個(gè)數(shù)字在連續(xù)執(zhí)行 SHOW STATUS 命令時(shí)快速增加,就應(yīng)該嘗試增大線程緩存。例如,可以在 my.cnf 中使用 thread_cache = 40 來(lái)實(shí)現(xiàn)此目的。
關(guān)鍵字緩沖區(qū)保存了 MyISAM 表的索引塊。理想情況下,對(duì)于這些塊的請(qǐng)求應(yīng)該來(lái)自于內(nèi)存,而不是來(lái)自于磁盤。清單 6 顯示了如何確定有多少塊是從磁盤中讀取的,以及有多少塊是從內(nèi)存中讀取的。
清單 6、確定關(guān)鍵字效率
mysql> show status like '%key_read%';
+-------------------+-----------+
| Variable_name     | Value     |
+-------------------+-----------+
| Key_read_requests | 163554268 |
| Key_reads         | 98247     |
+-------------------+-----------+
2 rows in set (0.00 sec)
Key_reads 代表命中磁盤的請(qǐng)求個(gè)數(shù), Key_read_requests 是總數(shù)。命中磁盤的讀請(qǐng)求數(shù)除以讀請(qǐng)求總數(shù)就是不中比率 —— 在本例中每 1,000 個(gè)請(qǐng)求,大約有 0.6 個(gè)沒有命中內(nèi)存。如果每 1,000 個(gè)請(qǐng)求中命中磁盤的數(shù)目超過(guò) 1 個(gè),就應(yīng)該考慮增大關(guān)鍵字緩沖區(qū)了。例如,key_buffer = 384M 會(huì)將緩沖區(qū)設(shè)置為 384MB。
臨時(shí)表可以在更高級(jí)的查詢中使用,其中數(shù)據(jù)在進(jìn)一步進(jìn)行處理(例如 GROUP BY 字句)之前,都必須先保存到臨時(shí)表中;理想情況下,在內(nèi)存中創(chuàng)建臨時(shí)表。但是如果臨時(shí)表變得太大,就需要寫入磁盤中。清單 7 給出了與臨時(shí)表創(chuàng)建有關(guān)的統(tǒng)計(jì)信息。
清單 7、確定臨時(shí)表的使用
mysql> SHOW STATUS LIKE 'created_tmp%';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 30660 |
| Created_tmp_files       | 2     |
| Created_tmp_tables      | 32912 |
+-------------------------+-------+
3 rows in set (0.00 sec)
每次使用臨時(shí)表都會(huì)增大 Created_tmp_tables;基于磁盤的表也會(huì)增大 Created_tmp_disk_tables。對(duì)于這個(gè)比率,并沒有什么嚴(yán)格的規(guī)則,因?yàn)檫@依賴于所涉及的查詢。長(zhǎng)時(shí)間觀察 Created_tmp_disk_tables 會(huì)顯示所創(chuàng)建的磁盤表的比率,您可以確定設(shè)置的效率。 tmp_table_size 和 max_heap_table_size 都可以控制臨時(shí)表的最大大小,因此請(qǐng)確保在 my.cnf 中對(duì)這兩個(gè)值都進(jìn)行了設(shè)置。
 
每個(gè)會(huì)話的設(shè)置
下面這些設(shè)置針對(duì)于每個(gè)會(huì)話。在設(shè)置這些數(shù)字時(shí)要十分謹(jǐn)慎,因?yàn)樗鼈冊(cè)诔艘钥赡艽嬖诘倪B接數(shù)時(shí)候,這些選項(xiàng)表示大量的內(nèi)存!您可以通過(guò)代碼修改會(huì)話中的這些數(shù)字,或者在 my.cnf 中為所有會(huì)話修改這些設(shè)置。
當(dāng) MySQL 必須要進(jìn)行排序時(shí),就會(huì)在從磁盤上讀取數(shù)據(jù)時(shí)分配一個(gè)排序緩沖區(qū)來(lái)存放這些數(shù)據(jù)行。如果要排序的數(shù)據(jù)太大,那么數(shù)據(jù)就必須保存到磁盤上的臨時(shí)文件中,并再次進(jìn)行排序。如果 sort_merge_passes 狀態(tài)變量很大,這就指示了磁盤的活動(dòng)情況。清單 8 給出了一些與排序相關(guān)的狀態(tài)計(jì)數(shù)器信息。
清單 8、顯示排序統(tǒng)計(jì)信息
mysql> SHOW STATUS LIKE "sort%";
+-------------------+---------+
| Variable_name     | Value   |
+-------------------+---------+
| Sort_merge_passes | 1       |
| Sort_range        | 79192   |
| Sort_rows         | 2066532 |
| Sort_scan         | 44006   |
+-------------------+---------+
4 rows in set (0.00 sec)
如果 sort_merge_passes 很大,就表示需要注意 sort_buffer_size。例如, sort_buffer_size = 4M 將排序緩沖區(qū)設(shè)置為 4MB。
MySQL 也會(huì)分配一些內(nèi)存來(lái)讀取表。理想情況下,索引提供了足夠多的信息,可以只讀入所需要的行,但是有時(shí)候查詢(設(shè)計(jì)不佳或數(shù)據(jù)本性使然)需要讀取表中大量數(shù)據(jù)。要理解這種行為,需要知道運(yùn)行了多少個(gè) SELECT 語(yǔ)句,以及需要讀取表中的下一行數(shù)據(jù)的次數(shù)(而不是通過(guò)索引直接訪問(wèn))。實(shí)現(xiàn)這種功能的命令如清單 9 所示。
清單 9、確定表掃描比率
mysql> SHOW STATUS LIKE "com_select";
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Com_select    | 318243 |
+---------------+--------+
1 row in set (0.00 sec)
mysql> SHOW STATUS LIKE "handler_read_rnd_next";
+-----------------------+-----------+
| Variable_name         | Value     |
+-----------------------+-----------+
| Handler_read_rnd_next | 165959471 |
+-----------------------+-----------+
1 row in set (0.00 sec)
Handler_read_rnd_next / Com_select 得出了表掃描比率 —— 在本例中是 521:1。如果該值超過(guò) 4000,就應(yīng)該查看 read_buffer_size,例如 read_buffer_size = 4M。如果這個(gè)數(shù)字超過(guò)了 8M,就應(yīng)該與開發(fā)人員討論一下對(duì)這些查詢進(jìn)行調(diào)優(yōu)了!
3 個(gè)必不可少的工具
盡管在了解具體設(shè)置時(shí),SHOW STATUS 命令會(huì)非常有用,但是您還需要一些工具來(lái)解釋 mysqld 所提供的大量數(shù)據(jù)。我發(fā)現(xiàn)有 3 個(gè)工具是必不可少的;在 參考資料 一節(jié)中您可以找到相應(yīng)的鏈接。
大部分系統(tǒng)管理員都非常熟悉 top 命令,它為任務(wù)所消耗的 CPU 和內(nèi)存提供了一個(gè)不斷更新的視圖。 mytop 對(duì) top 進(jìn)行了仿真;它為所有連接上的客戶機(jī)以及它們正在運(yùn)行的查詢提供了一個(gè)視圖。mytop 還提供了一個(gè)有關(guān)關(guān)鍵字緩沖區(qū)和查詢緩存效率的實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù),以及有關(guān)正在運(yùn)行的查詢的統(tǒng)計(jì)信息。這是一個(gè)很有用的工具,可以查看系統(tǒng)中(比如 10 秒鐘之內(nèi))的狀況,您可以獲得有關(guān)服務(wù)器健康信息的視圖,并顯示導(dǎo)致問(wèn)題的任何連接。
mysqlard 是一個(gè)連接到 MySQL 服務(wù)器上的守護(hù)程序,負(fù)責(zé)每 5 分鐘搜集一次數(shù)據(jù),并將它們存儲(chǔ)到后臺(tái)的一個(gè) Round Robin Database 中。有一個(gè) Web 頁(yè)面會(huì)顯示這些數(shù)據(jù),例如表緩存的使用情況、關(guān)鍵字效率、連接上的客戶機(jī)以及臨時(shí)表的使用情況。盡管 mytop 提供了服務(wù)器健康信息的快照,但是 mysqlard 則提供了長(zhǎng)期的健康信息。作為獎(jiǎng)勵(lì),mysqlard 使用自己搜集到的一些信息針對(duì)如何對(duì)服務(wù)器進(jìn)行調(diào)優(yōu)給出一些建議。
搜集 SHOW STATUS 信息的另外一個(gè)工具是 mysqlreport。其報(bào)告要遠(yuǎn)比 mysqlard 更加復(fù)雜,因?yàn)樾枰獙?duì)服務(wù)器的每個(gè)方面都進(jìn)行分析。這是對(duì)服務(wù)器進(jìn)行調(diào)優(yōu)的一個(gè)非常好的工具,因?yàn)樗鼘?duì)狀態(tài)變量進(jìn)行適當(dāng)計(jì)算來(lái)幫助確定需要修正哪些問(wèn)題。
 
結(jié)束語(yǔ)
本文介紹了對(duì) MySQL 進(jìn)行調(diào)優(yōu)的一些基礎(chǔ)知識(shí),并對(duì)這個(gè)針對(duì) LAMP 組件進(jìn)行調(diào)優(yōu)的 3 部分系列文章進(jìn)行了總結(jié)。調(diào)優(yōu)很大程度上需要理解組件的工作原理,確定它們是否正常工作,進(jìn)行一些調(diào)整,并重新評(píng)測(cè)。每個(gè)組件 —— Linux、Apache、PHP 或 MySQL —— 都有各種各樣的需求。分別理解各個(gè)組件可以幫助減少可能會(huì)導(dǎo)致應(yīng)用程序速度變慢的瓶頸。
 
 信息來(lái)源尚品中國(guó):大興區(qū)網(wǎng)站制作,大興區(qū)網(wǎng)站設(shè)計(jì),大興區(qū)網(wǎng)站建設(shè)公司
來(lái)源聲明:本文章系尚品中國(guó)編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來(lái)自尚品中國(guó)。以上內(nèi)容部分(包含圖片、文字)來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。
TAG標(biāo)簽:

如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶滿意度,該怎么辦?

預(yù)約專業(yè)咨詢顧問(wèn)溝通!

*尚品專業(yè)顧問(wèn)將盡快與您聯(lián)系

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

主站蜘蛛池模板: 日躁夜躁狠狠躁2001 国产又色又爽又黄刺激在线视频 丰满人妻一区二区三区视频53 国产三级韩国三级日产三级 欧美亚洲色欲色一欲www 国产高清不卡一区二区 最新国产在线拍揄自揄视频 波多野结衣av一区二区无码 亚洲日本乱码在线观看 国产乱人视频在线播放 东京热无码人妻系列综合网站 97久久综合区小说区图片区 午夜成人爽爽爽视频在线观看 人妻少妇伦在线无码 成人区精品一区二区不卡av免费 国产老太睡小伙子视频 99久久无码一区人妻a片蜜 久久精品国产一区二区三 2020亚洲国产精品久久久 精品一区二区无码免费 亚洲中文字幕va毛片在线 欧美亚洲日本日韩在线 午夜视频在线观看免费观看1 国产亚洲欧美在线观看三区 亚洲成本人无码薄码区 天堂tv亚洲tv无码tv 久久精品少妇高潮a片免费观 动漫高h纯肉无码视频在线观看 免费无码va一区二区三区 免费精品国偷自产在线2020 久久综合九色综合97网| 日韩乱码人妻无码中文视频| 日本精品成人一区二区三区视频| 日韩欧美国产aⅴ另类| 老司机午夜精品99久久免费| 综合成人亚洲网友偷自拍| 国产精品r级最新在线观看| 99久久国产露脸精品国产麻豆| 亚洲视频高清不卡在线观看| 国产美女裸身网站免费观看视频| 人人爽人人澡人人人人妻|