麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

高峰保護軟件:預測需求高峰的體系結構

2019-11-18 13:16:37
字體:
來源:轉載
供稿:網友

  高峰保護軟件:猜測需求高峰的體系結構
  您的 web 應用程序處理全球大量用戶的并發事件時,高性能的伸縮性以及可用性是要害 — 因為點擊會不斷地發生。
  
  現在,參加諸如 OracleWorld 等活動的用戶希望通過其瀏覽器做很多操作 — 向應用程序設計師提出了嚴重的挑戰,包括活動營銷公司 George P. Johnson 的技術副總裁 Michael Winner。
  
  Winner 說:“自從 Web 應用程序出現以來,我們應用程序中的數據和邏輯數量呈指數增長。用戶能做的事情的范圍比我們在五到七年以前所看到的范圍要廣泛得多。用戶能夠進行實時電子商務交易、預訂旅館、會議簽名、上傳和下載演示、從不同的旅館使用無線登記。現在很多這類的會議都有非常技術性的觀眾。”
  
  在舉辦活動時的事務量高峰為 Winner 的應用程序開發人員團隊增加了更多的難題。“在 Moscone 中心的一次活動中,我們談論為所有展出攤位打印,比如 15,000 到 20,000 個證件。那么,我們要處理所有正在進行的信用卡事務,還有線索的檢索 — 有很多很多不同的供給商、第三方供給商以及與客戶和用戶相關的活動正在發生。”
  
  會議的這一切可能只是由 George P. Johnson 公司的主服務器設備在一個周末所處理的若干全球活動中的一項。
  
  Winner 承認:“活動治理是強度很大并且獨一無二的應用程序為了解決由這些需求所造成的挑戰 — 并且開發出適用于各種各樣客戶和活動的應用程序 — Winner 的團隊使用了大量的策略。其中包括分層的應用程序體系結構、多個組件的高速緩存和集群、對代碼變化的嚴格治理過程。
  
  分層的方法
  George P. Johnson 公司核心活動治理應用程序的開發工作規模很大,涉及到大量有關如何最好地滿足性能目標的計劃和策略制定。Winner 說:“我們開始設計一個能夠處理數以百萬計的事務以及數萬并發用戶的全球應用程序,具有一系列用于活動營銷和活動治理的非常強健的功能需求 — 并且具有全天候的可用性。其工作涉及到至少 50 人來設計、構建和部署該應用程序,此外還有大約一百人在項目治理和測試等領域中工作。”
  
高峰保護軟件:猜測需求高峰的體系結構

  
圖 1:體系結構
 
  由于 Winner 的團隊并沒有原有系統,他們在選擇符合其性能目標的設計時有很大的自由度。Winner 解釋說:“我們決定為每個應用程序組件創建單獨的層,并為每層選擇可用的最好的技術 — 選擇那些我們知道能夠快速進行開發并良好擴展的、經過驗證的高性能技術。我們調查每個組件在峰值使用時期需要處理什么,并相應地擴展我們的系統,對于在預算答應時逐漸增加的項目作出計劃。我們知道應用程序最終必須在每層(從數據庫到 Web 服務端和代碼端)處理每分鐘 10,000 到 20,000 次點擊。”
  
  在說明選擇產品的過程時,Winner 說:“我們對所提供的產品進行了大量的研究,并決定在我們的 Web 服務層使用 Oracle 數據庫和 Oracle 應用服務器 (OracleAS)。強烈推薦 Oracle 作為獲得我們所需要的那種可伸縮的高可用性和性能的最好方法。”
  
  Winner 說,他的團隊利用 Oracle 數據庫和 Oracle 應用服務器獲得成功的要害在于它們提供高速緩存和集群的功能。
  
  高速緩存獲得高性能
  Oracle 應用服務器向 Winner 的團隊快速證實其價值的一個方面是 OracleAS Web Cache。
  
  他回憶說:“我們第一次開始使用它是在兩年前。我們為一個客戶設計應用程序,該應用程序答應所有用戶下載演示。在我們最初對產品進行說明時,我們對客戶將要為其用戶提供的信息量 — 包括視頻和聲音可視資料 — 的預備不夠充分。
  
  “因此,基于我們為獲得更高性能而進行高速緩存所需的特定文件格式,我們使用 Web Cache Administrator 為該活動建立特定的規則,假定為使用該應用程序并需要獲得那些演示的人們提供一個為期五天的窗口。”
  
  其結果超出了預期水平,從而說服了公司在其應用程序中更加廣泛地使用 Web 高速緩存。Winner 解釋說:“Web 高速緩存所做的是對文件進行壓縮和高速緩存,為您提供巨大的性能增益 — 在我見過的某些情況中達到 200%,而我們發現通常使用 Web 高速緩存的服務器比沒有使用它的服務器的容量多 50% 到 100%。因此,利用一個 Oracle 應用服務器和 Web 高速緩存集群 — 以及利用它們創建規則的豐富功能 — 您能夠充分地提高性能,而不必投資購買更多的硬件。”
  
  Winner 堅信,高速緩存將成為 Web 應用程序中的標準。他說:“在某些方面,它已經是標準了。但是根據現在應用程序的要求,為了總體性能和高可用性,對您當即需要的文檔和進程進行高速緩存的能力變得越來越重要。”
  
  盡管 Winner 建議為實際上任何的應用程序進行高速緩存,他也注重到在某些情況下可能不能選擇壓縮。“假如您的亞洲用戶運行 Netscape 4.76,則您在使用壓縮時會出現問題 — 但是假如您的用戶的高技術人員運行 1990 年代或更高的瀏覽器版本,則您會獲得相當好的性能。我可以說,我沒有見過任何解決方案和應用程序不會受益于高速緩存,即使您只是對 jsp 進行高速緩存。您可以將高速緩存打開再關閉,很輕易看到它對性能的影響程度。”
  
  基于使用 Web 高速緩存的經驗,Winner 提供了以下提示,以便使您從高速緩存中獲得最大限度的性能增益:
  
  僅僅使用您需要的 Oracle 應用服務器的服務。例如,在 Web 服務器配置中,去掉所有在啟動時默認不需要的服務。
  查看應用程序層,確保將 Web 高速緩存作用于頁面上運行的所有內容 — 包括所有的文件格式(JSP、Html、PL/SQL)和圖像。
  為您的特定環境創建合適的高速緩存規則。
  平衡 HTTP 和 OracleAS 的 J2EE 容器 (OC4J) 請求,將這兩種請求分別置于不同的服務器或不同的集群中。
  在 Web 服務端和數據庫中盡可能多地使用集群 — 您確實需要使用 RAC 來集群您的數據庫。
  
  集群或者失敗
  Winner 注重到,集群已經成為其團隊的一個標準選項,用于查看他們在不同節點上運行服務器時,何時沒有獲得足夠的性能和可用性。“首先我們通過升級到 RAC,對數據庫進行集群,然后我們知道需要集群 Web 服務,以便在 Web 服務端提高可用性。隨后我們開始查看關于 java 和 Apache 的集群,發現 OC4J 容器集群和 Apache 集群提供了巨大的優勢。”
  
  Winner 說公司選擇升級到 RAC 有幾個原因。“我們對真正應用集群進行了一些研究,確定我們的最佳選擇是在 Oracle RAC 上使用 Veritas 來運行它。我們的一部分目標是擴展我們的生產環境,以減少某些維護成本,并提供對產品更加實時的數據訪問。我們還希望能夠在實際的文檔訪問定義 (DAD) 或統一資源定位器 (URL) 級別上提供給用程序的集群,因此我們能夠根據用戶的地理區域或用戶使用的應用程序,為用戶提供多種選擇。RAC 答應我們分離特定的功能 — 無論是根據實例、位于 RAC 集群中還是根據應用程序級的實際 URL/DAD 集群 — 因此它就是一種功能非常強大的產品。”RAC 對那些添加到集群中的故障切換的利用能力也是決策中的一個重要因素“它使我們能夠在多個服務器上存儲 Java 容器,因此我們可以在集群中分布這些應用程序的負載,以便獲得更高的可用性。2003 年,我們用開發人員套件開發了第一批基于 Java 的應用程序并將其投入運行,而這打開了一個全新的技術領域,其運行速度要快得多。JSP 頁的性能與 PL/SQL 頁相比 — 簡直是天壤之別!PL/SQL 是經過驗證的,并且它仍是我們很主要的業務,但是它們之間無法相比。使用 Web 高速緩存和 JSP,它是速度快得多的引擎。而 Oracle 的 OC4J 為我們提供了無數可以做的事情。”
  
  緊跟代碼
  盡管系統設計和產品的選擇在開發具有可伸縮性的高性能應用程序方面非常重要,Winner 的團隊從未忽視代碼本身在保持日常基本工作的高性能方面的重要性。假如對代碼的需求經常改變,保持程序正常運行就非常困難。
  
  他斷言:“性能問題從代碼級開始。問題不在服務器、Web 服務器或者數據庫 — 而在于代碼。與每層的優調一樣重要,性能的底線是代碼:從連接池、SQL 和 JDBC 到特定數量的代碼如何實際運行的所有問題 — 包括 PL/SQL 屬性和 Java 資源。以我的觀點來看,代碼絕對是我們最大的問題。監視和防止錯誤可不是件輕易的工作,非凡是當您有數萬行代碼正在更改的時候。”
  
  在 George P. Johnson 公司,代碼維護的標準挑戰由于其代碼需要適應各種各樣的客戶和地區而變得復雜 — 一個例子是最近啟用的 Oracle World China 站點,它具有地區專用的特點以及在 JSP 中運行的全中文字符集。
  
  Winner 指出:“我們不是那種構建一個版本并把它放在磁盤上再發送出去的公司。我希望我們能夠制作壓縮打包的軟件,但是 在我們的行業里,這不可能發生 — 這意味著版本控制是我們的一個主要問題。我們的服務器隨著運行的越來越多的新代碼而不斷地擴展,而我們正在進行大量的編譯。我們能夠審計和跟蹤代碼的變化并快速確定運行狀況不良的過程,這極為重要,這樣我們就能夠根據需要進行重新編譯或重新部署。”
  
  他的公司對于保持版本控制的策略的一部分是,從基本上在一個實例上運行的一個核心應用程序開始工作。
  
  Winner 解釋說:“我們主要擁有一個 Unicode 產品實例 AL32UTF8,而且我們擁有一個基本的產品,不希望為每個客戶而更改它。當然,我們會有客戶專用的 HTML 以及類似的東西 — 對于每個公司而言,前端和用戶界面都是專有的,這是處理公司特有營銷活動和業務需求的邏輯 — 但是就核心代碼而言,它并沒有改變。我們的應用程序的靜態和一致性邏輯深入到

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩专区在线 | 成人在线视频在线观看 | 久久久久久久国产a∨ | 久久免费视频一区二区三区 | 国产精品成人久久久久a级 av电影在线免费 | 久久久久久久久国产 | 成人福利在线免费观看 | 亚洲欧美日韩在线 | 一本一本久久a久久精品综合小说 | 少妇一级淫片高潮流水电影 | 久久精品亚洲精品国产欧美kt∨ | 久久久久亚洲精品 | 日韩精品一区二区三区中文 | 成人在线视频在线观看 | 一级做人爱c黑人影片 | 亚洲成人高清电影 | 国产一级aa大片毛片 | 成人免费福利视频 | 9999久久| av在线1| 亚洲第一页中文字幕 | 水卜樱一区二区av | 九九热免费视频在线观看 | 黑人三级毛片 | 羞羞视频免费网站含羞草 | 偿还电影免费看 | 欧美a视频在线观看 | 欧美一级片一区 | 在线日韩亚洲 | 久久久久久久久久久亚洲 | 亚洲欧美日韩一区二区三区在线观看 | 狠狠干五月天 | 黄色av免费电影 | lutube成人福利在线观看 | 国产1区2区在线观看 | 99热草 | 精品国产91久久久 | 毛片118极品美女写真 | av在线一区二区三区四区 | 羞羞草视频 | 精品国产乱码久久久久久丨区2区 |