新的起點 新的開始

          快樂生活 !

          developer 眼中的性能問題

             在項目中,我們都經常面臨所開發(fā)的產品性能問題。然而這些問題都不是很容易解決。大多性能問題追根究底都是系統(tǒng)架構或者說是設計問題。推翻了重做是不可能的,怎么從這些問題中吸取經驗教訓才是正道。來看看我遇到的設計問題。

          案例: 企業(yè)級應用系統(tǒng),技術使用了JSF 數(shù)據庫Oracle. 主頁面范圍超慢,大概半分鐘。

          問題很多,主要有一下幾點:
          1. 數(shù)據庫設計嚴格遵守了范式設計,導致表關聯(lián)很多。頁面數(shù)據大多需要從至少10張表聯(lián)合獲取。
          2. 重度使用JSF 組件樹過大。
          3. 代碼上冗余邏輯,大量沒有必要的處理。

          如何解決呢
          1. 對于第一個問題, 還是多學習學習數(shù)據庫設計以及如何寫出高效的SQL,推薦一本書 SQL反模式 可以指導如何進行數(shù)據庫設計。畢竟大多數(shù)應用系統(tǒng)需要數(shù)據庫的支持。寫SQL同時想想是不是這個SQL是最優(yōu)的。 資深的程序員應該對SQL優(yōu)化有一定的了解。

          2. 在設計開發(fā)應用系統(tǒng)初期,就要多了解你選技術的不足,盡量避免由技術不足帶了的問題。畢竟任何技術都有其優(yōu)勢和不足。 比如問題2,盡量減少組件樹,或者使用facelet來build UI .

          3. 問題3就純粹是程序員個人問題和團隊流程問題了。 無論是用任何方式 比如測試驅動 結對編程等 流程畢竟是流程,程序員的個人素質與修養(yǎng)是整個產品質量的保證。 這點我還是相信找到合適的程序員讓他喜歡或者對自己開發(fā)的產品有認同感才是最好的解決方式。如果連自己做的都不感興趣,就靠流程,也是僅僅保證少許問題而不是高質量的產品。

          以上就是我的一點看法。welcome to other idea . Thanks

          2012/11/20 Beijing




           






           

          posted on 2012-11-20 22:29 advincenting 閱讀(1624) 評論(0)  編輯  收藏 所屬分類: 生活隨筆

          公告

          Locations of visitors to this pageBlogJava
        1. 首頁
        2. 新隨筆
        3. 聯(lián)系
        4. 聚合
        5. 管理
        6. <2012年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          統(tǒng)計

          常用鏈接

          留言簿(13)

          隨筆分類(71)

          隨筆檔案(179)

          文章檔案(13)

          新聞分類

          IT人的英語學習網站

          JAVA站點

          優(yōu)秀個人博客鏈接

          官網學習站點

          生活工作站點

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西宁市| 武穴市| 连平县| 昂仁县| 张家港市| 邮箱| 桂阳县| 遂溪县| 嘉禾县| 西充县| 海口市| 邹平县| 邓州市| 通州市| 阿拉善右旗| 天门市| 鄂尔多斯市| 浮山县| 大渡口区| 东莞市| 三河市| 南漳县| 北京市| 赤水市| 东光县| 扶绥县| 专栏| 扎兰屯市| 蕲春县| 江门市| 定结县| 隆林| 原平市| 扎兰屯市| 灌云县| 张家口市| 兴安盟| 伽师县| 崇礼县| 和硕县| 若尔盖县|