小規模低效能低流量網站設計開發原則_PHP教程

來源:互聯網
上載者:User

小規模低效能低流量網站設計開發原則


經常在一些技術網站上看到分析大規模,高流量,高效能之類的網站架構設計類的文章,這類文章基本上是滿足了人們的好奇心,但看過之後實際收益可能並不大。因為大部分人可能並沒多少機會接觸到這種的機會。即使接觸到了,實際碰到的情況也往往與很多看到的文章是有出入的。

另外這種文章看多了有個副作用就是容易讓人心潮澎湃,沒學會走先學跑,於是便有很多人在很多條件仍不具備的情況下,過度設計、過度擴充,過早的去考慮一些不必要的問題,結果往往導致事與願違。

今天本篇文章主要討論一下小規模、低效能、低流量的網站該如何去設計開發。

如果網站起步階段可能就是一台機器或者一個空間(比如 www.phpernote.com 這種日IP還未過5000的網站),這個時候,我們去關注什麼資料拆分啊,負載平衡啊,都是沒影子的事情。很多大網站的經驗絕不能照搬,根據實際情況辯證的看待問題才是硬道理。

擁抱熟知的技術

動手構建網站的時候,不要到處去問別人該用什麼,什麼熟悉用什麼,如果用自己不擅長的技術手段來寫網站,等你寫完,黃花菜可能都涼了。所以,有現成的軟體組件可用,就不要自己重新發明輪子。人家說 Python 牛,但自己只懂 PHP ,那就 PHP 好了,如果只熟悉 .net ,那也不錯。用爛技術不是丟人的事情,把好技術用爛才丟人。

架構層次清晰化

起步的階段應該清楚的確定下來架構的層次。如果都攪和在一起,業務一旦擴增開來,如果原有的一堆東西拆不開就是非常痛苦的事情。

Web Server <--> (AppServer)<-->Cache(eg. Memcached)<-->DB

層次清晰化的一個體現是(以 LAMP 架構為例):即使只有一台機器,也應該起個 Memcached 的執行個體,效果的確非常好。一般人兒我不告訴他,不要把什麼都壓到 DB 上,DB 所有的 I/O 壓力都走到磁碟上,問題要暴露出來是很快的。沒錯,DB 本身也會利用自己的 Cache,但 DB 的Cache 和 Memcached 設計出發點畢竟不一樣。

如何正確看待資料冗餘

很多人並不是資料庫設計專家,如果某個項目需要自己設計表結構什麼的,基本都是臨時抱佛腳,但三個範式很多人倒是記得挺牢,這是大多數小型 Web 網站遇到的一個頭疼事兒,一個小小的項目搞了幾十個表。忘掉範式這個玩意兒!

記住,儘可能的冗餘資料,現在磁碟空間價格不算貴,時間永遠比空間要貴的多。你在資料層陷入的時間越多,你在產品上投入的就會越少。使用者更關心的是產品的設計。

前端最佳化很重要

因為流量低,訪客可能也不多,這時候值得注意的是頁面不要太大,多數流量低的網站吃虧就在於一個頁面動輒幾兆(我前兩天看到一個Startup的首頁有4M之大,可謂驚人),使用者看個頁面半分鐘都打不開,你說咋發展?先把基本的條件滿足,再去研究前端最佳化。

功能增加要謹慎

不是有個 80/20 原則嗎?把最重要的精力放在最能給你帶來商業價值的地方。有些花裡胡哨的功能帶來很大的開銷,反而收效甚微。記住,小網站,最有價值的是業務模式,而不是你的技術有多牛。技術是為商務服務的,不要炫技。

有些網站不停的添加功能,恰恰是把這些新功能變成了壓死自己的稻草。

從開始考慮效能

這一點是可選的,但也重要。設計應用的時候在開始就應考慮 Profile 這件事情。一套應用能否在後期進行有效最佳化和擴充,很大的程度限制在是否有比較合適的 Profile 機制上。需要補充的是,對效能的考慮必然要把有關的曆史資料考慮進來。

好架構不是設計出來的

這是最後要補充的一點。好的架構和最初的設計有關係,但最重要的是發展中的演化:

發展-->發現問題-->反饋-->解決問題(執行力)--> 改進->進化到下一階段--新問題出現(迴圈)

有些網站到了某個階段停足不前,可能卡在執行力這個地方,來自使用者的反饋意見上來了之後,沒有驅動力去做改進。最後也是死豬不怕開水燙了。最怕聽到的就是"業務不允許"的託詞,試想如果不改進業務都沒了,那業務還允許麼? 其實就是一層心理障礙。

這篇文章有濃重的山寨風格,所以,你不要太認真。如果在用短、平、快的方式構建某些山寨網站的話,可參考其中對你有益的點,不贊同的地方可以直接忽視掉,就沒必要費力留言進行爭論了。

您可能感興趣的文章

  • 使用PHP的GZip壓縮功能對網站JS和CSS檔案進行壓縮加速網站訪問速度
  • 良好使用者體驗的網站首頁的設計必須知道的12點
  • 大流量網站該如何?最佳化伺服器、靜態化、資料庫最佳化、負載平衡以實現高負載
  • PHP如何給網站開啟壓縮輸出增強網站訪問速度
  • MySQL索引操作命令(建立索引、重建索引、查詢索引、刪除索引)總結
  • 與php程式員的筆記網站交換友鏈的原則
  • PHP發明人談MVC和網站設計架構
  • Google部落格搜尋啟用ping功能實現網站內容即時收錄

http://www.bkjia.com/PHPjc/889243.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/889243.htmlTechArticle小規模低效能低流量網站設計開發原則 經常在一些技術網站上看到分析大規模,高流量,高效能之類的網站架構設計類的文章,這類文章基...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.