以 VM 為中心的高延遲工作站,與 Oracle 11g 的低延遲(但是,hack-ish)配置對比
tl;dr 低延遲本機(即無 VM)開發工作站與更高延遲的以 VM 為中心的工作站?
嘿 StackExchange,我不確定我是否應該使用 VM 進行開發,而不是在經認證可與 Oracle 11g(而不是 Debian)一起使用的發行版上執行本機配置。
就目前而言,我的選擇如下:
- 目前開發系統(見下文)+ Oracle Virtualbox + 預建構的 Oracle VM
- 經認證可與 Oracle 11g 一起使用的新開發系統(作業系統 + 軟體)
- 目前的開發系統 + 隨意的兼容性黑客來彌補 Oracle 11g 對基於 Debian 的發行版的脾氣暴躁
動機:
- Oracle 11g 在基於 Debian 的系統上的難點
- 後續 Oracle 安裝的預期難度
- 大學學習以 Java + PL/SQL 為中心
目前開發系統(筆記型電腦):
作業系統:Linux Mint 14
CPU:i3-2310M @ 2.1GHz
記憶體:6GB
開發語言:
- PL/SQL (11g R2)
- MySQL
- 爪哇
- C++
- R
關於我是否應該爭取更高延遲的以虛擬機為中心的部署,而不是低延遲的本地工作站,有什麼想法嗎?
以虛擬機為中心的優點:
- 我不必安裝 Oracle 11g。
- 職責分離(用於:滲透測試、Oracle 開發、Windows 應用程序的虛擬機)
- 開發系統的可移植性
以虛擬機為中心的缺點:
- 更高的延遲
- 狹窄的應用基礎(相對於$$ Debian|Ubuntu $$) 對於非 Oracle 軟體
- 在 OEL5/RHEL5 中缺少基於 Debian 的開發軟體的安裝候選者
主要擔憂:
- 缺少軟體安裝候選者
- 無法有效安裝複雜的 Oracle 軟體
- 無法訪問其他 VM 中的應用程序
- 高延遲
- 缺乏針對 OEL/RHEL 的前沿軟體
Oracle Database 11g 認證的發行版(如果是原生的):
- 甲骨文 Linux 5
- RHEL 5
- SUSE Linux Enterprise Server 10
所以,實際上我的選擇(如果採用本地的、經過認證的分銷路線)是:
- CentOS {5.6}
- 甲骨文 Linux 5
- OpenSUSE
否則:
- Fedora 17 + 黑客
- Linux Mint 14 + m0ar 黑客
我應該使用低延遲、基於 Oracle 的開發系統(從而重新開始),還是使用多個延遲更高的 Oracle VM?
謝謝你。
PS:請注意,這不是一個購物問題。
除非您打算執行 OLTP 基準測試,否則我懷疑您是否能夠看到現代硬體的延遲。在最近的 Intel 和 AMD 晶片中的原生虛擬化支持、大量 RAM 和成熟的 VM 系統之間,這些天 VM 執行得相當好。
當然,您必須配置 VM 以充分使用本機硬體。例如,這意味著在 4 核超執行緒機器上為 VM 提供 8 個“CPU”。例如,如果您使用的是 VMware 或 Parallels,則必須將一些工具安裝到 VM 中才能獲得最佳性能。
理由:我已經將我的開發環境簡化為幾個真正的硬體盒:
- 一台全尺寸主伺服器,大部分開發都在此進行;它還用作該盒子恰好正在執行的作業系統的發布建構系統
- 一台執行 VMware Fusion 的筆記型電腦,用於在其他平台上進行測試並建構發布二進製文件
我使用兩台物理機並將虛擬機放在筆記型電腦上而不是在大型伺服器上執行所有東西的唯一原因只是我想在離開辦公室時也可以訪問虛擬機,而無需在公司防火牆上鑽孔。對於大多數用途,筆記型電腦的速度足夠快。
重要警告:我是一個命令行類型的人,主要使用 GUI 系統來執行選項卡式終端應用程序,以及文件管理器和 Web 瀏覽器等輔助應用程序。重點是,我幾乎一直都通過高效的 SSH 連接訪問我的虛擬機。如果您的使用需要大量的 GUI 訪問,那麼您可能會注意到延遲。但是,如果您可以在本機端進行 GUI 操作,並且大部分情況下將 VMing 留給 SSH 連接,那麼您會沒事的。
如果您需要對 VM 進行 GUI 訪問,一切都不會失去,只要您使用“工作站”類 VM 系統,例如 Parallels { Workstation , Desktop }, VMware { Workstation , Fusion } 或VirtualBox。您只需通過 VM 系統執行 GUI,而不是通過遠端 X11 連接。它仍然比原生慢一點,但仍然相當可用。