[英]Java and tomcat vs ASP.NET and IIS
直到最近,我才認為自己是一個非常優秀的網絡程序員(在各種電子商務,靜態和企業應用程序上提供10年的商業經驗)。 我是自學成才,並且一直使用Microsoft產品堆棧(ASP,ASP.NET)......
我的應用程序總是功能齊全,相對沒有bug,但從來沒有快速閃電。 作為一個頻繁的網絡用戶,我總是發現這是常態......來自大型科技公司(eBay,Facebook,微軟,IBM,戴爾,Telerik等)的網站有多快 - 實際上沒有一個特別快。 我總是把它歸結為“網絡應用程序的方式”......
...然后我從地圖集中了解了一個叫做Jira的產品,這讓我陷入困境......
這個應用程序很快,我的意思是快速...快速的時間切換頁面之間的切換,完整的實時內容,大量的圖像和數據和交叉引用等...
我在具有大型應用程序數據庫的Intranet上運行它,這是在非常普通的服務器上運行的(單處理器,SATA HDD,8GB RAM)。
我錯過了什么? 我的編程技術是不是很糟糕? 我想知道這個速度增益是否低於用Java編寫並在Tomcat上運行。
有沒有人有任何基准來比較JSP / ASP或Tomcat / IIS ???
謝謝,馬克
注意:這不是Jira的明顯插件。 我不為他們工作或與他們有任何聯系...但我希望能夠編寫像他們這樣的應用程序:)
因人而異。 但是,不再存在的最長壽的事情之一是“Java慢”的斷言。 除了浮點(大多數Java實現不能自由使用浮點硬件),Java通常比編譯代碼快或快。 一些最優秀和最聰明的人花了多年的努力來確保這一點,包括基於運行時指標的動態重新編譯/重新優化代碼 - 這些靜態編譯的語言如C或匯編程序無法誇耀。
ASP是一種相反的極端,因為最初的ASP必須每次都重新編譯每個頁面請求。 ASPX通過允許保留已編譯的頁面代碼來解決這個問題。 這擺脫了很多無用的開銷。
更喜歡Java而不是ASPanything / IIS的更有說服力的理由是自由。 Java / Tomcat webapp幾乎可以在任何硬件上的任何操作系統下運行。 IIS在Windows上運行。 期。 在大多數情況下,這也意味着英特爾。 不是Sparc,不是zSeries。 也許你不在乎。 但話說回來,也許下周IBM將為您的雇主提供一個不可拒絕的大型機交易。
我沒有基准測試,並且有很多東西可以使一個平台更受歡迎。 但是當我遇到Poseidon UML工具及其酷炫的實時圖形用戶界面和FreeMind思維導圖工具時,我永遠放棄了“Java慢”的想法。 啟動JVM是一個很小的打擊,但在那之后,你永遠不會知道你正在使用什么語言。
大辯論。 Java與.Net。
當.Net第一次出現時,有一個名為“The Pet Shop”的應用程序。 這是Sun的J2EE參考應用程序“The Pet Store”的.Net端口。 據宣布,微軟的實施“更快”。
與任何事情一樣,特別是與營銷有關的事情,你必須深入挖掘才能找到真相。
任何技術都可以通過足夠的硬件和正確的設計來實現。 根據我的經驗,速度有兩個因素:使用什么類型的硬件以及如何構建應用程序(包括數據庫調優)。
各種級別的緩存(響應,數據庫等)使Web應用程序的響應能力大不相同。 還有很多事情要做,以減少數據庫連接池,sql語句緩存等耗時的操作。盡管我想說Java更好:-),我認為在這種情況下性能是由於Jira的編寫方式以及它在內部運行的事實(與eBay,Facebook,Microsoft相比可能只有少數用戶)。 這個站點,Stackoverflow,使用ASP.NET MVC和IIS,並且非常敏感,我的猜測(因為代碼不是開源的),他們使用了許多你在Jira或任何其他Web應用程序中找到的相同技術。規模。
我認為通常不會使用的框架和語言使應用程序變慢。 根據我的經驗,一些框架如JSF或.NET服務器端控件為開發人員提供了很多自由來進行過多的數據庫調用並經常查看,但這絕不是所用框架的錯誤。
保持應用程序盡可能輕松,並專注於盡可能減少發送給客戶端的數據,您將擁有快速的應用程序。 開發快速應用程序通常也會更快。
Jira人寫了一個最好的應用程序(並收取它) - 很好的工作鱷魚dundees。
我還建議考慮兩個方面:
人們的意見大多是有偏見的。 大多數人從未真正嘗試過對方,而聲稱對方速度較慢。 我不相信任何答案:這只是意見。 總是一次又一次地閱讀相同的4美分很無聊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.