日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle入库的速度能到多少_多线程能提高Oracle的入库速度吗

發(fā)布時(shí)間:2023/12/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle入库的速度能到多少_多线程能提高Oracle的入库速度吗 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

多線程能提高Oracle的入庫(kù)速度嗎

最近常常和同事們討論“系統(tǒng)架構(gòu)”,其中有不免提到如何使用“多線程”來(lái)改善系統(tǒng)性能。有些同事普遍有一種“認(rèn)為”:他們認(rèn)為“多線程”是改善系統(tǒng)性能的“靈丹妙藥”,他們簡(jiǎn)單的認(rèn)為,“多線程”導(dǎo)致“并發(fā)”,而并發(fā)顯然是改善性能的好途徑。

在討論這個(gè)問(wèn)題前,我們還是復(fù)習(xí)一下基本概念。我們從“進(jìn)程”、“多進(jìn)程”、“線程”、“多線程”說(shuō)起。

進(jìn)程 :進(jìn)程就是已執(zhí)行程式的實(shí)體(參見(jiàn):wiki)。簡(jiǎn)單點(diǎn)說(shuō)就是:運(yùn)行著的程序(好像和上句差不多:) )。

“多進(jìn)程”其實(shí)就是“多任務(wù)”:進(jìn)程是現(xiàn)今“分時(shí)系統(tǒng)”以及“多任務(wù)操作系統(tǒng)”的基本運(yùn)作單位。操作系統(tǒng)在同一段時(shí)間內(nèi)加載多個(gè)程式和行程到內(nèi)存中,并分時(shí)間片完成(或稱多任務(wù)),以在一個(gè)CPU上表現(xiàn)出同時(shí)執(zhí)行的感覺(jué)。Unix, Windows XP, Linux都可以稱為多任務(wù)操作系統(tǒng);XP也可以勉強(qiáng)稱為“分時(shí)系統(tǒng)”;Unix和Linux當(dāng)然可以被稱為“分時(shí)系統(tǒng)”)。當(dāng)我們執(zhí)行DOS(DOS是單任務(wù)OS,雖然它有所謂的TSR技術(shù)),必須把上一個(gè)程序退出來(lái),才能執(zhí)行下面的程序。而在Windows環(huán)境下,我們可以一邊“下載電影”,一邊“聽(tīng) mp3”,同時(shí)還可以“上網(wǎng)”。這就是多任務(wù)帶給我們的好處。

線程 :具體概念參見(jiàn)wiki。線程和進(jìn)程的核心區(qū)別就是“是否存在獨(dú)立的地址空間”。每一個(gè)進(jìn)程都有自己的“地址空間”,而線程是共享“地址空間”的。這帶來(lái)的好處就是:線程間的切換成本要顯著小于進(jìn)程間的切換成本。我們舉一個(gè)通俗(是不是庸俗?)例子來(lái)說(shuō)明進(jìn)程和線程的區(qū)別。有一個(gè)花心的男孩,同時(shí)和兩個(gè)女孩談戀愛(ài),但由于這個(gè)“戀愛(ài)過(guò)程”始終在空間上是不能夠交叉的,也就是說(shuō)這兩個(gè)女孩始終碰不到面,這對(duì)于這個(gè)男孩來(lái)說(shuō)這就是“多任務(wù)”。如果象韋小寶一樣,他的大小老婆都住在一起,他可以和他的七個(gè)老婆打情罵俏,由于他們?cè)谕粋€(gè)“地址空間”因此這就是“多線程”。顯然花心男的“任務(wù)(進(jìn)程)”的切換需要改變“地址空間”--跑來(lái)跑去,還需要分別記住對(duì)不同“女友”的不同許諾,以及不同的“誓言”----保存環(huán)境變量,這個(gè)明顯要比韋小寶“多進(jìn)程”的切換要辛苦的多。

多線程能夠?yàn)槲覀儙?lái)什么好處呢?我們從“下載電影”說(shuō)起,比如,我可以“多任務(wù)”的起N個(gè)ftp程序,分別從不同的地址下載N部電影。你可以通過(guò)定時(shí)查看每小時(shí)你的磁盤(pán)減少了多少空間,來(lái)判斷你每小時(shí)下載了多少內(nèi)容(這稱為吞吐量)。雖然這種方法,可能我們有很高的吞吐量,但也顯然存在不少缺點(diǎn),比如,無(wú)法加快單一電影的下載速度(十個(gè)媽媽不可能在一個(gè)月生出一個(gè)寶寶來(lái))。具有“多線程”的功能的“迅雷”就有許多優(yōu)點(diǎn)了,它可以把同一部電影分解成N部分,分別從不同的網(wǎng)址下載,當(dāng)某一個(gè)網(wǎng)址下載鏈接不可用時(shí),它有可以自動(dòng)切換到其他網(wǎng)址上(線程間的切換成本是很小的)。但這里有些前提,常常被我們忽略:

1、我們的CPU有足夠的能力起多個(gè)線程(在配置不高的機(jī)器上,會(huì)感到迅雷很占資源);

2、我們的硬盤(pán)讀寫(xiě)速度要遠(yuǎn)高于“下載速度”。

3、下載電影的網(wǎng)站的網(wǎng)速并不高。這點(diǎn)特別重要,如果我們是1Mbit的帶寬,而ftp下載某電影已經(jīng)能夠穩(wěn)定在1Mbit(256K字節(jié)),我們換用迅雷除了讓我們的機(jī)器慢下來(lái),是不能夠改善下載速度的。

4、起N個(gè)ftp客戶端程序下載的吞吐量,不比迅雷差。只是你下載的電影都只是開(kāi)頭部分。

關(guān)于“多線程”技術(shù)能否給系統(tǒng)提速,核心的問(wèn)題在于找到系統(tǒng)的“性能瓶頸”。

再看看我們正在開(kāi)發(fā)的系統(tǒng)存在的問(wèn)題吧。我們正在開(kāi)發(fā)的系統(tǒng)是一個(gè)網(wǎng)管系統(tǒng),它需要大量的采集網(wǎng)絡(luò)設(shè)備數(shù)據(jù)到數(shù)據(jù)庫(kù)中,同時(shí)提供用戶界面給網(wǎng)絡(luò)運(yùn)維人員查看是否存在網(wǎng)絡(luò)告警、網(wǎng)絡(luò)性能數(shù)據(jù)、以及網(wǎng)絡(luò)的拓?fù)淝闆r。

1、多線程采集數(shù)據(jù)入庫(kù)(數(shù)據(jù)庫(kù))能改善系統(tǒng)性能嗎?

顯然不能!由于有大量的采集數(shù)據(jù)等待進(jìn)入數(shù)據(jù)庫(kù),以及存在大量的Oracle后臺(tái)運(yùn)算,使得當(dāng)前的系統(tǒng)瓶頸在Oracle上,而Oracle的性能瓶頸在磁盤(pán)I/O上(有大量的全表掃描SQL以及大量的寫(xiě)入操作)。這里的情況和上面迅雷利用“多線程”改善性能的情況一點(diǎn)也不同,因此改善 Oracle的磁盤(pán)I/O才是正道。

2、Java連接池技術(shù)能夠改善入庫(kù)速度嗎?

我們?yōu)榱烁纳撇杉俣?#xff0c;采用了多臺(tái)采集機(jī)并發(fā)采集網(wǎng)絡(luò)數(shù)據(jù),這些采集機(jī)都需要把采集的數(shù)據(jù)入庫(kù)到Oracle。Java連接池技術(shù)主要是為了解決DB連接過(guò)程的成本問(wèn)題,對(duì)于存在大量短時(shí)連接的Web應(yīng)用,就凸顯起好處了(參見(jiàn):Java jdbc數(shù)據(jù)庫(kù)連接池總結(jié))。而我們的采集過(guò)程本來(lái)就是一個(gè)連續(xù)的不間斷過(guò)程。其實(shí)這里每個(gè)采集機(jī)只需要抓住一個(gè)Oracle連接不放手就可以了,完全沒(méi)有必要每5分鐘一次的采集過(guò)程完成后就釋放連接,隨后再重新建立Oracle連接。更加讓人無(wú)法理解的是每一個(gè)采集機(jī)的連接池竟然高達(dá)10個(gè)連接,這有什么用?

總而言之,我們需要改善Oracle的整體入庫(kù)“吞吐量”,線程在里顯然無(wú)用武之處。

總結(jié)

以上是生活随笔為你收集整理的oracle入库的速度能到多少_多线程能提高Oracle的入库速度吗的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。