mysql調優 基礎

MySQL調優可以從幾個方面來做:

1. 架構層:
做從庫,實現讀寫分離;

2.系統層次:
增加內存;
給磁盤做raid0或者raid5以增加磁盤的讀寫速度;
可以重新掛載磁盤,并加上noatime參數,這樣可以減少磁盤的i/o;

3. MySQL本身調優:
(1) 如果未配置主從同步,可以把bin-log功能關閉,減少磁盤i/o
(2) 在my.cnf中加上skip-name-resolve,這樣可以避免由于解析主機名延遲造成mysql執行慢
(3) 調整幾個關鍵的buffer和cache。調整的依據,主要根據數據庫的狀態來調試。如何調優可以參考5.

4. 應用層次:
查看慢查詢日志,根據慢查詢日志優化程序中的SQL語句,比如增加索引

5. 調整幾個關鍵的buffer和cache

1) key_buffer_size??首先可以根據系統的內存大小設定它,大概的一個參考值:1G以下內存設定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.這個值可以通過檢查狀態值Key_read_requests和 Key_reads,可以知道key_buffer_size設置是否合理。比例key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好(上述狀態值可以使用SHOW STATUS LIKE ‘key_read%’獲得)。注意:該參數值設置的過大反而會是服務器整體效率降低!


2) table_open_cache 打開一個表的時候,會臨時把表里面的數據放到這部分內存中,一般設置成1024就夠了,它的大小我們可以通過這樣的方法來衡量: 如果你發現 open_tables等于table_cache,并且opened_tables在不斷增長,那么你就需要增加table_cache的值了(上述狀態值可以使用SHOW STATUS LIKE ‘Open%tables’獲得)。注意,不能盲目地把table_cache設置成很大的值。如果設置得太高,可能會造成文件描述符不足,從而造成性能不穩定或者連接失敗。


3) sort_buffer_size 查詢排序時所能使用的緩沖區大小,該參數對應的分配內存是每連接獨占!如果有100個連接,那么實際分配的總共排序緩沖區大小為100 × 4 = 400MB。所以,對于內存在4GB左右的服務器推薦設置為4-8M。


4) read_buffer_size 讀查詢操作所能使用的緩沖區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!


5) join_buffer_size 聯合查詢操作所能使用的緩沖區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享!


6) myisam_sort_buffer_size 這個緩沖區主要用于修復表過程中排序索引使用的內存或者是建立索引時排序索引用到的內存大小,一般4G內存給64M即可。


7) query_cache_size MySQL查詢操作緩沖區的大小,通過以下做法調整:SHOW STATUS LIKE ‘Qcache%’; 如果Qcache_lowmem_prunes該參數記錄有多少條查詢因為內存不足而被移除出查詢緩存。通過這個值,用戶可以適當的調整緩存大小。如果該值非常大,則表明經常出現緩沖不夠的情況,需要增加緩存大小;Qcache_free_memory:查詢緩存的內存大小,通過這個參數可以很清晰的知道當前系統的查詢內存是否夠用,是多了,還是不夠用,我們可以根據實際情況做出調整。一般情況下4G內存設置64M足夠了。


8) thread_cache_size 表示可以重新利用保存在緩存中線程的數,參考如下值:1G??—> 8 2G??—> 16 3G??—> 32??>3G??—> 64
除此之外,還有幾個比較關鍵的參數:


9) thread_concurrency 這個值設置為cpu核數的2倍即可


10) wait_timeout 表示空閑的連接超時時間,默認是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設置interactive_timeout,建議他們兩個都設置為10


11) max_connect_errors 是一個MySQL中與安全有關的計數器值,它負責阻止過多嘗試失敗的客戶端以防止暴力破解密碼的情況。與性能并無太大關系。為了避免一些錯誤我們一般都設置比較大,比如說10000?


12) max_connections 最大的連接數,根據業務請求量適當調整,設置500足夠


13) max_user_connections 是指同一個賬號能夠同時連接到mysql服務的最大連接數。設置為0表示不限制。通常我們設置為100足夠?

原文:http://xxr007.blog.51cto.com/10602872/1879583

轉載于:https://www.cnblogs.com/wangdaijun/p/6147952.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371875.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371875.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371875.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

saltstack

第一:安裝前準備: 聲明我用的是ubuntu 16.04的系統 1.修改主機名,并保證兩臺機器可以互相ping同主機名 ip1 master_hostname ip2 slave_hostname 第二:安裝 服務器安裝 yum install salt-master -y客戶端安裝 yum install salt…

ios 百度地圖指定區域_獲取百度地圖可視區域范圍的數據

有個業務場景,需要根據獲取到的地圖區域顯示,根據相應的經緯度反查 左側區域的會議室。思路:1.得到百度地圖可視區域--可視區域的中心點2.可視區域的四個角的其中兩個(東北角西南角)http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_refer…

使用WS-Trust / STS采樣器擴展JMeter

JMeter沒有對WS-Security或WS-Trust的任何內置支持,這使我為JMeter開發了此STS Sampler –可以在負載測試STS時使任何人的生活變得更好。 首先,您需要擁有Apache JMeter發行版。 我正在使用v2.7。 然后,您可以從此處下載sts.sampler.zip –解…

分享一個使用閉包對一個對象繼承方式

function Person(name,age){this.name name;this.age age; }//定義一個new函數 繼承了對Person的繼承 function New(obj){return function(){var o {"__proto__":obj.proto};obj.apply(o,arguments);}return obj; }var n new New(Person)("對象繼承了person…

vue怎么改logo_vue全家桶項目構建教程

前言vue是現階段很流行的前端框架,很多人通過vue官方文檔的學習,對vue的使用都有了一定的了解,但再在項目工程化處理的時候,卻發現不知道改怎么更好的管理自己的項目,如何去引入一些框架以及vue全家桶其他框架的使用&a…

EclipseLink MOXy作為JAXB提供者

EclipseLink MOXy是JAXB提供程序,并且是內置在JDK中的默認JAXB提供程序的引人注目的替代品。 首先是一個簡單的測試,將Java對象編組為XML: 這是模型: XmlRootElement(nameMemberDetailsRequest, namespacehttp://bk.org/members…

monkeyrunner多點觸摸

思路是:在屏幕上某個位置按著不放:device.touch(x,y,md.DOWN) 然后再做一個滑動的操作:device.drap((x1,y1),(x2,y2),0.2,10) 然后再松開按鍵:device.touch(x,y,md.UP) #codeing:utf-8 from com.android.monkeyrunner import Monk…

雅虎前端優化的35條軍規

閱讀目錄 內容部分css部分js部分javascript, css 圖片 cookie移動端 服務器摘要:無論是在工作中,還是在面試中,web前端性能的優化都是很重要的,那么我們進行優化需要從哪些方面入手呢?可以遵循雅虎的前端優化34條軍規&…

stm32 內部sram大小_在SRAM、FLASH中調試代碼的配置方法(附詳細步驟)

聊天界面發送嵌入式大雜燴獲取1TB大雜燴資料包STM32的FLASH擦寫次數有限(大概為1萬次),所以為了延長FLASH的使用時間,我們平時調試時可以選擇在SRAM中進行硬件調試。除此之外,SRAM 存儲器的寫入速度比在內部 FLASH 中要快得多,所以…

Spring Profile模式示例

最近,我們介紹了Spring Profiles的概念。 此概念是針對不同部署環境的輕松配置區分符。 直接的用例(已提出)是對相關類進行注釋,以便Spring根據活動的配置文件加載適當的類。 但是,這種方法可能并不總是適用于常見的…

Android 樣式 (style) 和主題(theme)

轉載:https://gold.xitu.io/post/58441c48c59e0d0056a30bc2 樣式和主題 樣式是指為 View 或窗口指定外觀和格式的屬性集合。樣式可以指定高度、填充、字體顏色、字號、背景色等許多屬性。 樣式是在與指定布局的 XML 不同的 XML 資源中進行定義。 Android 中的樣式與…

自定義控件_VIewPager顯示多個Item

一直以來想搞明白這個不完全的VIewPager是怎么做到的&#xff0c;有幸看到這片篇文章 有二種實現方法 1.設置的屬性 1.clipChildren屬性 2.setPageMargin 3.更新Item外界面 2.重寫getPageWidth public class MultiplePagerAdapter extends PagerAdapter { private List<I…

華為怎么改輸入法皮膚_微信和QQ個性鍵盤皮膚

hello大家好&#xff0c;今天是2019年1月1號&#xff0c;祝大家新年快樂今天是新年的第一天&#xff0c;所以說給大家介紹一個好玩的&#xff0c;微信和QQ都能設置的個性的鍵盤皮膚&#xff0c;看下圖&#xff0c;這樣的個性的鍵盤主題怎么設置呢&#xff1f;其實很簡單&#x…

EasyMock教程–入門

在本文中&#xff0c;我將向您展示EasyMock是什么&#xff0c;以及如何使用它來測試Java應用程序。 為此&#xff0c;我將創建一個簡單的Portfolio應用程序&#xff0c;并使用JUnit&#xff06;EasyMock庫對其進行測試。 在開始之前&#xff0c;讓我們首先了解使用EasyMock的需…

synchronized內置鎖

synchronized內置鎖&#xff0c;如果發生阻塞&#xff0c;無法被中斷&#xff0c;除非關閉jvm.因此不能從死鎖中恢復。轉載于:https://www.cnblogs.com/paulbai/p/6163250.html

如何加快Json 序列化?有哪些方法?

1、使用阿里的fastjson 2、可以通過去除不必要屬性加快序列化。如person對象&#xff0c;有id&#xff0c;name&#xff0c;address&#xff0c;我json需要用戶姓名&#xff0c;此時序列化的時候就只序列化name&#xff0c;id和address不序列化。轉載于:https://www.cnblogs.co…

用金萬維怎么設置路由器_家用路由器怎么設置 家庭路由器設置方法【圖文】...

這里以TP-link的無線路由器為例&#xff0c;教一下怎么調試路由器上網。準備工具:網線兩條&#xff0c;電腦或者手機&#xff0c;用手機的話就不需要用網線了1、用網線連接光纖貓與路由器&#xff0c;光貓的LAN1口與路由器的WAN相連。路由器的LAN任意一個口用網線連接電腦。2、…

Liferay –簡單主題開發

實際上&#xff0c;Liferay的6.1版本已經走了很長一段路&#xff0c;該版本完全支持JSF和IceFaces。 我的目標是使它成為我們團隊中的標準協作工具&#xff0c;因此我仍在嘗試學習它的精髓。 好的軟件應用程序可以解決問題&#xff0c;但是好的軟件應用程序不僅可以解決問題&am…

springmvc初步配置

導包/添加依賴&#xff1a;<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>4.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springfram…

獲取用戶地理位置

1、利用h5 屬性獲取用戶地理位置 h5的新增屬性是支持用戶獲取地理位置的特別是手機&#xff0c;支持的情況會更好。具體寫法如下 // 定位功能getLocation () {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition, showError);} else {alert(瀏…