xfs優化
❶ linux運行oracle11g後很慢怎麼優化
1. 標准優化:遵從Oracle技術文檔中的說明tune你的Linux,比如共享內存等等。這里不贅述了,因為文檔中很全。 2. 根據你的使用情況採取Dedicate型或MTS型資料庫。具體方法也看文檔。 3. 假如你不是對資料庫中的java應用非凡有需求的話,不要裝它,也不要啟動它。(假如你裝了的話) 4. 對你的伺服器來說,最好專用。假如你不專用,說明你對性能並不那麼敏感,也用不著優化了。 5. 內存越大越好。但Linux對內存大小有限制,因此需要去找一些Patch。 6. 下載一個SGI's POSIX Asynchronous I/O and Raw I/O的內核Patch。它能大幅度提高你數據文件的訪問速度。 7. 假如你採用ext2文件系統,把Block的大小增加到4~8KB。其中dbf所在分區的大小最少弄到8192KB。 8. 盡可能用SCSI硬碟。假如是IDE的,好好調調參數。 9. 這里是一個示常式序: set -a VM=/PRoc/sys/vm BDFLUSH="40 1024 64 256 500 3000 500 1884 2" BUFFERMEM="5 8 10" FREEPAGES="512 1024 3072" OVERCOMMIT="1" case $1 in start) echo "$BDFLUSH">$VM/bdflush echo "$BUFFERMEM">$VM/buffermem echo "$FREEPAGES">$VM/freepages echo "$OVERCOMMIT">$VM/overcommit_memory /sbin/hdparm -k -u 1 -m 32 -c 1 /dev/hda; /sbin/hdparm -k -u 1 -m 16 -c 1 /dev/hdc; ;; stop) toUCh /root/shouldnt.happen; ;; *) echo "USAGE $0 {startstop}"; ;; esac; 10. 假如你有Solaris for X86的話,可以運用它的分區工具把你的所有分區都改成UFS。Linux的當前Kernel是支持UFS的。在資料庫運用上,UFS比ext2好。 11. 假如可能,應該採用諸如IBM JFS或SGI XFS這樣的64位文件系統。
❷ cenos7.0下windows系統文件怎麼用
主要特性包括以下幾點數據完全性:
採用XFS文件系統,當意想不到的宕機發生後,首先,由於文件系統開啟了日誌功能,所以你磁碟上的文件不再會意外宕機而遭到破壞了。不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日誌在很短的時間內迅速恢復磁碟文件內容。
傳輸特性 :
XFS文件系統採用優化演算法,日誌記錄對整體文件操作影響非常小。XFS查詢與分配存儲空間非常快。xfs文件系統能連續提供快速的反應時間。筆者曾經對XFS、JFS、Ext3、ReiserFS文件系統進行過測試,XFS文件文件系統的性能表現相當出眾。
可擴展性 :
XFS 是一個全64-bit的文件系統,它可以支持上百萬T位元組的存儲空間。對特大文件及小尺寸文件的支持都表現出眾,支持特大數量的目錄。最大可支持的文件大 小為263 = 9 x 1018 = 9 exabytes,最大文件系統尺寸為18 exabytes。
XFS使用高的表結構(B+樹),保證了文件系統可以快速搜索與快速空間分配。XFS能夠持續提供高速操作,文件系統的性能不受目錄中目錄及文件數量的限制。
傳輸帶寬 :
XFS 能以接近裸設備I/O的性能存儲數據。在單個文件系統的測試中,其吞吐量最高可達7GB每秒,對單個文件的讀寫操作,其吞吐量可達4GB每秒。
相比EXT3或EXT4都有不少的有點
❸ Linux上MySQL優化提升性能 哪些可以優化的關閉NUMA特性
一、CPU
首先從CPU說起。
你仔細檢查的話,有些伺服器上會有的一個有趣的現象:你cat /proc/cpuinfo時,會發現CPU的頻率竟然跟它標稱的頻率不一樣:
#cat /proc/cpuinfo
processor : 5
model name : Intel(R) Xeon(R) CPU E5-2620 0 @2.00GHz
cpu MHz : 1200.000
這個是Intel E5-2620的CPU,他是2.00G * 24的CPU,但是,我們發現第5顆CPU的頻率為1.2G。
這是什麼原因呢?
這些其實都源於CPU最新的技術:節能模式。操作系統和CPU硬體配合,系統不繁忙的時候,為了節約電能和降低溫度,它會將CPU降頻。這對環保人士和抵制地球變暖來說是一個福音,但是對MySQL來說,可能是一個災難。
為了保證MySQL能夠充分利用CPU的資源,建議設置CPU為最大性能模式。這個設置可以在BIOS和操作系統中設置,當然,在BIOS中設置該選項更好,更徹底。由於各種BIOS類型的區別,設置為CPU為最大性能模式千差萬別,我們這里就不具體展示怎麼設置了。
然後我們看看內存方面,我們有哪些可以優化的。
i) 我們先看看numa
非一致存儲訪問結構 (NUMA : Non-Uniform Memory Access) 也是最新的內存管理技術。它和對稱多處理器結構 (SMP : Symmetric Multi-Processor) 是對應的。簡單的隊別如下:
如圖所示,詳細的NUMA信息我們這里不介紹了。但是我們可以直觀的看到:SMP訪問內存的都是代價都是一樣的;但是在NUMA架構下,本地內存的訪問和非 本地內存的訪問代價是不一樣的。對應的根據這個特性,操作系統上,我們可以設置進程的內存分配方式。目前支持的方式包括:
--interleave=nodes
--membind=nodes
--cpunodebind=nodes
--physcpubind=cpus
--localalloc
--preferred=node
簡而言之,就是說,你可以指定內存在本地分配,在某幾個CPU節點分配或者輪詢分配。除非 是設置為--interleave=nodes輪詢分配方式,即內存可以在任意NUMA節點上分配這種方式以外。其他的方式就算其他NUMA節點上還有內 存剩餘,Linux也不會把剩餘的內存分配給這個進程,而是採用SWAP的方式來獲得內存。有經驗的系統管理員或者DBA都知道SWAP導致的資料庫性能 下降有多麼坑爹。
所以最簡單的方法,還是關閉掉這個特性。
關閉特性的方法,分別有:可以從BIOS,操作系統,啟動進程時臨時關閉這個特性。
a) 由於各種BIOS類型的區別,如何關閉NUMA千差萬別,我們這里就不具體展示怎麼設置了。
b) 在操作系統中關閉,可以直接在/etc/grub.conf的kernel行最後添加numa=off,如下所示:
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-root rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=VolGroup/root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=VolGroup/swap rhgb crashkernel=auto quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM numa=off
另外可以設置 vm.zone_reclaim_mode=0盡量回收內存。
c) 啟動MySQL的時候,關閉NUMA特性:
numactl --interleave=all mysqld
當然,最好的方式是在BIOS中關閉。
ii) 我們再看看vm.swappiness。
vm.swappiness是操作系統控制物理內存交換出去的策略。它允許的值是一個百分比的值,最小為0,最大運行100,該值默認為60。vm.swappiness設置為0表示盡量少swap,100表示盡量將inactive的內存頁交換出去。
具體的說:當內存基本用滿的時候,系統會根據這個參數來判斷是把內存中很少用到的inactive 內存交換出去,還是釋放數據的cache。cache中緩存著從磁碟讀出來的數據,根據程序的局部性原理,這些數據有可能在接下來又要被讀 取;inactive 內存顧名思義,就是那些被應用程序映射著,但是 長時間 不用的內存。
我們可以利用vmstat看到inactive的內存的數量:
#vmstat -an 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 27522384 326928 1704644 0 0 0 153 11 10 0 0 100 0 0
0 0 0 27523300 326936 1704164 0 0 0 74 784 590 0 0 100 0 0
0 0 0 27523656 326936 1704692 0 0 8 8 439 1686 0 0 100 0 0
0 0 0 27524300 326916 1703412 0 0 4 52 198 262 0 0 100 0 0
通過/proc/meminfo 你可以看到更詳細的信息:
#cat /proc/meminfo | grep -i inact
Inactive: 326972 kB
Inactive(anon): 248 kB
Inactive(file): 326724 kB
這里我們對不活躍inactive內存進一步深入討論。 Linux中,內存可能處於三種狀態:free,active和inactive。眾所周知,Linux Kernel在內部維護了很多LRU列表用來管理內存,比如LRU_INACTIVE_ANON, LRU_ACTIVE_ANON, LRU_INACTIVE_FILE , LRU_ACTIVE_FILE, LRU_UNEVICTABLE。其中LRU_INACTIVE_ANON, LRU_ACTIVE_ANON用來管理匿名頁,LRU_INACTIVE_FILE , LRU_ACTIVE_FILE用來管理page caches頁緩存。系統內核會根據內存頁的訪問情況,不定時的將活躍active內存被移到inactive列表中,這些inactive的內存可以被 交換到swap中去。
一般來說,MySQL,特別是InnoDB管理內存緩存,它佔用的內存比較多,不經常訪問的內存也會不少,這些內存如果被Linux錯誤的交換出去了,將 浪費很多CPU和IO資源。 InnoDB自己管理緩存,cache的文件數據來說佔用了內存,對InnoDB幾乎沒有任何好處。
所以,我們在MySQL的伺服器上最好設置vm.swappiness=0。
我們可以通過在sysctl.conf中添加一行:
echo vm.swappiness = 0 /etc/sysctl.conf
並使用sysctl -p來使得該參數生效。
三、文件系統
最後,我們看一下文件系統的優化
i) 我們建議在文件系統的mount參數上加上noatime,nobarrier兩個選項。
用noatime mount的話,文件系統在程序訪問對應的文件或者文件夾時,不會更新對應的access time。一般來說,Linux會給文件記錄了三個時間,change time, modify time和access time。
我們可以通過stat來查看文件的三個時間:
stat libnids-1.16.tar.gz
File: `libnids-1.16.tar.gz'
Size: 72309 Blocks: 152 IO Block: 4096 regular file
Device: 302h/770d Inode: 4113144 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access : 2008-05-27 15:13:03.000000000 +0800
Modify: 2004-03-10 12:25:09.000000000 +0800
Change: 2008-05-27 14:18:18.000000000 +0800
其中access time指文件最後一次被讀取的時間,modify time指的是文件的文本內容最後發生變化的時間,change time指的是文件的inode最後發生變化(比如位置、用戶屬性、組屬性等)的時間。一般來說,文件都是讀多寫少,而且我們也很少關心某一個文件最近什 么時間被訪問了。
所以,我們建議採用noatime選項,這樣文件系統不記錄access time,避免浪費資源。
現在的很多文件系統會在數據提交時強制底層設備刷新cache,避免數據丟失,稱之為write barriers。但是,其實我們資料庫伺服器底層存儲設備要麼採用RAID卡,RAID卡本身的電池可以掉電保護;要麼採用Flash卡,它也有自我保 護機制,保證數據不會丟失。所以我們可以安全的使用nobarrier掛載文件系統。設置方法如下:
對於ext3, ext4和 reiserfs文件系統可以在mount時指定barrier=0;對於xfs可以指定nobarrier選項。
ii) 文件系統上還有一個提高IO的優化萬能鑰匙,那就是deadline。
在 Flash技術之前,我們都是使用機械磁碟存儲數據的,機械磁碟的尋道時間是影響它速度的最重要因素,直接導致它的每秒可做的IO(IOPS)非常有限, 為了盡量排序和合並多個請求,以達到一次尋道能夠滿足多次IO請求的目的,Linux文件系統設計了多種IO調度策略,已適用各種場景和存儲設備。
Linux的IO調度策略包括:Deadline scheler,Anticipatory scheler,Completely Fair Queuing(CFQ),NOOP。每種調度策略的詳細調度方式我們這里不詳細描述,這里我們主要介紹CFQ和Deadline,CFQ是Linux內 核2.6.18之後的默認調度策略,它聲稱對每一個 IO 請求都是公平的,這種調度策略對大部分應用都是適用的。但是如果資料庫有兩個請求,一個請求3次IO,一個請求10000次IO,由於絕對公平,3次IO 的這個請求都需要跟其他10000個IO請求競爭,可能要等待上千個IO完成才能返回,導致它的響應時間非常慢。並且如果在處理的過程中,又有很多IO請 求陸續發送過來,部分IO請求甚至可能一直無法得到調度被 餓死 。而deadline兼顧到一個請求不會在隊列中等待太久導致餓死,對資料庫這種應用來 說更加適用。
實時設置,我們可以通過
echo deadline /sys/block/sda/queue/scheler
來將sda的調度策略設置為deadline。
我們也可以直接在/etc/grub.conf的kernel行最後添加elevator=deadline來永久生效。
CPU方面:
關閉電源保護模式
內存:
vm.swappiness = 0
關閉numa
文件系統:
用noatime,nobarrier掛載系統
IO調度策略修改為deadline。
❹ ext4與xfs比有什麼優勢和劣勢。
數據完全性上:
採用XFS文件系統,當意想不到的宕機發生後,首先,由於文件系統開啟了日誌功能,所以磁碟上的文件不再會意外宕機而遭到破壞了。
不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日誌在很短的時間內迅速恢復磁碟文件內容。相比ext4更能保證數據完整。
傳輸特性上:
XFS文件系統採用優化演算法,日誌記錄對整體文件操作影響非常小。XFS查詢與分配存儲空間非常快。xfs文件系統能連續提供快速的反應時間。筆者曾經對XFS、JFS、Ext3、ReiserFS文件系統進行過測試,相比ext4,XFS文件文件系統的性能表現相當出眾。
可擴展性上:
XFS 是一個全64-bit的文件系統,可以支持上百萬T位元組的存儲空間。對特大文件及小尺寸文件的支持都表現出眾,支持特大數量的目錄。最大可支持的文件大 小為263 = 9 x 1018 = 9 exabytes,最大文件系統尺寸為18 exabytes。
XFS使用高的表結構(B+樹),保證了文件系統可以快速搜索與快速空間分配。相比ext4,XFS能夠持續提供高速操作,文件系統的性能不受目錄中目錄及文件數量的限制。
傳輸帶寬上:
XFS 能以接近裸設備I/O的性能存儲數據。在單個文件系統的測試中,其吞吐量最高可達7GB每秒,對單個文件的讀寫操作,其吞吐量可達4GB每秒。相比ext4,XFS傳輸速度更快。
(4)xfs優化擴展閱讀:
在分區表所在的64bytes容量中,總共分為四組記錄區,每組記錄區記錄了該區段的起始與結束的柱面號碼。
假設上面的硬碟設備文件名為/dev/hda時, 那麼這四個分區在Linux系統中的設備文件名如下所示,重點在於文件名後面會再接一個數字,這個數字與該分區所在位置有關。
由於分區表只有64bytes而已,最多隻能容納四個分區,這四個分區被稱為主或擴展分區。當系統要寫入磁碟時,一定會參考磁碟分區表,才能針對某個分區進行數據的處理。
❺ linux的架構是怎樣優化的
(1).系統安裝優化
在安裝linux系統時,可以在磁碟的劃分、SWAP內存的分配等載入項上做優化。
磁碟層面:磁碟分配可以遵循應用的要求:a.對於讀寫數據頻繁但數據安全性要求不高時,可以將磁碟做成RAID0;b.對數據安全性要求高卻對數據讀寫沒有要求的可以做成RAID1;c.對讀要求高,而對寫操作沒有要求,但要保證數據安全性,則可以將磁碟做成RAID5;d.對讀寫要求高,並且要求數據安全性高,則可以將磁碟做成RAID0+1;通過不同的需求將磁碟做成不同的RAID級別,在磁碟層面對系統進行優化。
內存層面:當內存較小(物理內存小於4G),一般設置SWAP交換分區為內存的2倍,如果物理內存大於4G而小於16G,設置SWAP交換分區大小等於或略小於內存;如果內存大小大於16G,原則上可以將SWAP分區設置為0,建議設置一個一定大小的SWAP分區起緩沖作用。
(2).內核參數優化
內核參數的優化要和具體應用結合起來整體考慮,根據應用的不同要求進行參數的優化。
(3).文件系統優化
Linux下可選的文件系統有ext2、ext3、ext4、xfs和ReiserFS,根據應用的需求,選擇不同的文件系統。
Linux標准文件系統是從VFS開始的,然後是ext,接著是ext2,准確來說。Ext2是linux上標準的文件系統,ext3是在ext2基礎上增加日誌形成的,,是基於超級塊和inode的設計理念設計的。
XFS文件系統是一個高級日誌文件,通過分布式處理磁碟請求、定位數據、保持cache的一致性來提供對文件系統數據的低延遲、高帶寬的訪問。所以XFS伸縮性較好,具有優秀的日誌記錄功能、可擴展性強、快速寫入性能等特點。
ReiserFS是一款高性能的日誌文件系統,通過平衡樹結構來管理數據,包括文件數據、文件名以及日誌支持等。優點是訪問性能好和安全性高。具有高效、合理利用磁碟空間,先進的日誌管理機制,特有的搜尋方式、海量磁碟存儲等特點。
(4).應用的程序的優化
應用程序的優化主要是測試應用程序的可用性以及高效性,目的是調試應用程序是否存在bug。
❻ linux xfs支持多大的空間
XFS的開發始於1993年,在1994年被首次部署在IRIX 5.3上。2000年5月,XFS在GNU通用公共許可證下發布,並被移植到Linux上。2001年XFS首次被Linux發行版所支持,現在所有的Linux發行版上都可以使用XFS。
XFS最初被合並到Linux 2.4主線中,這使得XFS幾乎可以被用在任何一個Linux系統上。Arch, Debian, Fedora, openSUSE, Gentoo,Kate OS, Mandriva,Slackware, Ubuntu, VectorLinux和Zenwalk的安裝程序中都可選擇XFS作為文件系統,但由於默認的啟動管理器GRUB中存在bug,以上發行版中只有少數幾個允許用戶在 /boot 掛載點(引導目錄)上使用XFS文件系統。
FreeBSD在2005年12月獲得了對XFS的只讀支持,並在次年6月引入了試驗性的寫支持。不過這些只是為了方便用戶從Linux上遷移到FreeBSD上,並不是為了把XFS作為主打文件系統使用。Red Hat EnterpriseLinux 5.4 64位版的內核完整支持XFS,但未包含創建和使用XFS的命令行工具(CentOS正在進行這方面的嘗試),原因是這些軟體包還不夠穩定。
特性
數據完全性
採用XFS文件系統,當意想不到的宕機發生後,首先,由於文件系統開啟了日誌功能,所以你磁碟上的文件不再會意外宕機而遭到破壞了。不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日誌在很短的時間內迅速恢復磁碟文件內容。
傳輸特性
XFS文件系統採用優化演算法,日誌記錄對整體文件操作影響非常小。XFS查詢與分配存儲空間非常快。xfs文件系統能連續提供快速的反應時間。筆者曾經對XFS、JFS、Ext3、ReiserFS文件系統進行過測試,XFS文件文件系統的性能表現相當出眾。
可擴展性
XFS 是一個全64-bit的文件系統,它可以支持上百萬T位元組的存儲空間。對特大文件及小尺寸文件的支持都表現出眾,支持特大數量的目錄。最大可支持的文件大小為263 = 9 x 1018 =9 exabytes,最大文件系統尺寸為18 exabytes。
XFS使用高的表結構(B+樹),保證了文件系統可以快速搜索與快速空間分配。XFS能夠持續提供高速操作,文件系統的性能不受目錄中目錄及文件數量的限制。
傳輸帶寬
XFS 能以接近裸設備I/O的性能存儲數據。在單個文件系統的測試中,其吞吐量最高可達7GB每秒,對單個文件的讀寫操作,其吞吐量可達4GB每秒。
Exabyte(EB,艾可薩位元組或艾位元組)是一種資訊計量單位,現今通常在標示網路硬碟總容量,或具有大容量的儲存媒介之儲存容量時使用。
Exabyte往往亦可以指Exbibyte(EiB),其換算公式是:
1EiB = 1,024 PiB
1EiB = 1,048,576(1024)TiB
1EiB =1,073,741,824 (1024)GiB
1EiB = 1,099,511,627,776(1024)MiB
1EiB =1,125,899,906,842,624 (1024)KiB
1EiB =1,152,921,504,606,846,976 (1024)B
❼ 為什麼CENTOS 7.0開始選擇XFS作為默認的文件系統
是由商業版紅帽決定用xfs為默認,故而centos這個社區版自然得跟上步伐了
主要特性包括以下幾點
數據完全性:
採用XFS文件系統,當意想不到的宕機發生後,首先,由於文件系統開啟了日誌功能,所以你磁碟上的文件不再會意外宕機而遭到破壞了。不論目前文件系統上存儲的文件與數據有多少,文件系統都可以根據所記錄的日誌在很短的時間內迅速恢復磁碟文件內容。
傳輸特性 :
XFS文件系統採用優化演算法,日誌記錄對整體文件操作影響非常小。XFS查詢與分配存儲空間非常快。xfs文件系統能連續提供快速的反應時間。筆者曾經對XFS、JFS、Ext3、ReiserFS文件系統進行過測試,XFS文件文件系統的性能表現相當出眾。
可擴展性 :
XFS 是一個全64-bit的文件系統,它可以支持上百萬T位元組的存儲空間。對特大文件及小尺寸文件的支持都表現出眾,支持特大數量的目錄。最大可支持的文件大 小為263 = 9 x 1018 = 9 exabytes,最大文件系統尺寸為18 exabytes。
XFS使用高的表結構(B+樹),保證了文件系統可以快速搜索與快速空間分配。XFS能夠持續提供高速操作,文件系統的性能不受目錄中目錄及文件數量的限制。
傳輸帶寬 :
XFS 能以接近裸設備I/O的性能存儲數據。在單個文件系統的測試中,其吞吐量最高可達7GB每秒,對單個文件的讀寫操作,其吞吐量可達4GB每秒。
相比EXT3或EXT4都有不少的有點
❽ 請高手指教: linux 內存優化怎麼做 就是在申請內存時怎麼做到較少內存碎片
你的情況都沒說明,怎麼能夠讓人知道症狀,
我不是什麼大蝦,但是我知道為什麼
linux支持數十種文件系統。ext3/ext2/xfs等,包括windows的NTFS和FAT等等,
而windows主要使用NTFS文件系統,兼容FAT文件系統,
你安裝的時候肯定是選用了NTFS安裝,導致出錯,這個原因應該是硬碟的文件分區表出錯,如果你用FAT文件系統安裝,應該不會出錯,至於原理,希望你把具體症狀說出。
❾ oracle SQL優化 主表(ZS_YJSF)數據量上億,已分區 請大神指教
oracle SQL優化 主表(ZS_YJSF)數據量上億,已分區
要看數據多到何種程度。
比如一個表的筆數只是幾百,如果不需要和其他大表關聯查詢數據,連索引都不用建。
如果是幾十萬級別的表,一般正確建索引就可以。
如果是千萬級別的表,不但要正確建索引,而且要定時手工進行收集統計信息維護,不建議系統自動維護,以免影響使用性能。
如果是億以上級別的表,則可考慮按一定條件拆分表資料,將舊資料歸檔,這樣可改善生成表的使用。
資料庫優化的同時,程序也要進行相應優化,程序和數據科學搭配,才能使性能達到最佳。