亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: 無風之谷
打印 上一主題 下一主題

專家座談——Web開發(fā)中你所遇到的性能問題(大獎) [復制鏈接]

論壇徽章:
0
11 [報告]
發(fā)表于 2011-09-07 18:41 |只看該作者
回復 5# kns1024wh


    你這情況真遇到過 , 客戶說數(shù)據(jù)庫連接為什么不斷開!  聽說 那項目小組查出問題后 , 查記錄,重罰了做測試的人...

論壇徽章:
0
12 [報告]
發(fā)表于 2011-09-08 09:45 |只看該作者
回復 12# taojie2000


    項目做多了,遇到很多類似的現(xiàn)象。做系統(tǒng)架構的關注的并不是一個系統(tǒng)架構方面。很多問題都是要和應用的代碼整合優(yōu)化有關系的。系統(tǒng)是從專業(yè)層面給出建議。

論壇徽章:
59
2015七夕節(jié)徽章
日期:2015-08-24 11:17:25ChinaUnix專家徽章
日期:2015-07-20 09:19:30每周論壇發(fā)貼之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38榮譽版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年紀念徽章
日期:2015-07-20 11:05:27IT運維版塊每日發(fā)帖之星
日期:2015-07-20 11:05:34操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:36程序設計版塊每日發(fā)帖之星
日期:2015-07-20 11:05:40數(shù)據(jù)庫技術版塊每日發(fā)帖之星
日期:2015-07-20 11:05:432015年辭舊歲徽章
日期:2015-07-20 11:05:44
13 [報告]
發(fā)表于 2011-09-08 13:02 |只看該作者
本帖最后由 renxiao2003 于 2011-09-10 22:08 編輯
1,初學者怎么入門Web開發(fā)?

其實我接觸WEB開發(fā)的時候,我已經(jīng)做過四五年的軟件開發(fā)了,但對于WEB而言,我真的是初學者。至于怎么入門最好。我覺得如果你沒有相關的編程經(jīng)驗,那么要做WEB開發(fā),至少你應該熟悉一些HTML的知識和規(guī)范,已經(jīng)CSS和JavaScript語言,這都是WEB開發(fā)的基本知識了。我最初的時候接觸WEB開發(fā)(其實我覺得這個不像WEB開發(fā),更像MIS的開發(fā),當時做的是一個OA系統(tǒng))時,就是對原有系統(tǒng)的維護,其實當時是會一點JavaScript和Html的。因為原來的系統(tǒng)有一定的規(guī)模了,所以要做東西的時候很快。后來是做一個電廠的系統(tǒng),再后來做一個日本的WEB項目,這時靜態(tài)頁面都是美工做好的,我們只需要把數(shù)據(jù)添加進去。如果讓我去做畫面可能會很糟糕。
所以,做WEB開發(fā),特別是初學者,應該選好方向,將來是做UI部分還是做后臺部分(畢竟現(xiàn)在的WEB開發(fā)不可能讓你只寫HTML靜態(tài)頁面了)。如果要做UI,那么你必定得有相應的美術基礎(否則你做的頁面是沒法看的),其實要了解一定的JS知識,CSS是必會的了,如果你還會使用FLASH等相關的展示就更好了。
如果你對寫代碼感興趣而又自覺得沒什么美術天份,那你就要想好你的語言方向了。現(xiàn)在流行的開發(fā)語言(針對WEB的)很多,有.NET,PHP,JAVA等等。

               
2,你選哪種Web開發(fā)技術,JEE、PHP、.Net、RoR、Django......?,依據(jù)是什么?

我使用過的WEB開發(fā)技術,主要有ASP.NET,PHP和JAVA,這也是目前WEB開發(fā)中主流的Web開發(fā)語言,用PHP和ASP.NET分別做過一個項目,用JAVA做過三個項目。針對這三種語言,選擇依據(jù)如下:
如果你要開發(fā)的是大型分布式應用,那么首選是JAVA了,JAVA的分布式處理能力以及跨平臺性,使得他有更強的生命力。
而如果開發(fā)的是一個中型項目,那么使用ASP.NET是首選,他的開發(fā)速度遠快于JAVA,而穩(wěn)定性對于中型項目是足夠的。
而PHP,做快速開發(fā)是比較適合的,而且很容易入門上手,他的難度遠低于前兩種語言。

               
3,如果你是一名Web開發(fā)者,請把你在Web開發(fā)中遇到的性能問題跟大家做個分享。

隨著現(xiàn)代WEB開發(fā)技術的發(fā)展,開發(fā)技術日新月異,這就要求我們必須不斷的學習,才能跟得上時代的發(fā)展。因為我所開發(fā)的項目不是上萬級的訪問量,一般是幾百,所以使用普通的PC SERVER就能滿足。性能上沒有太大的問題,但就是我開發(fā)的那個OA,使用的是WINDOWS2003做SERVER,TOMCAT在運行一定時間后就會內(nèi)在泄露,必須重啟服務或者重啟服務器,我想關于OutofMemory這個錯誤是很多JAVA開發(fā)員都碰到過的問題。

論壇徽章:
10
CU大;照
日期:2013-09-18 15:20:48程序設計版塊每日發(fā)帖之星
日期:2016-07-21 06:20:00IT運維版塊每日發(fā)帖之星
日期:2015-07-30 09:40:01技術圖書徽章
日期:2014-10-14 16:00:43天蝎座
日期:2013-09-27 17:41:29CU大;照
日期:2013-09-18 15:21:17CU大;照
日期:2013-09-18 15:21:12CU大;照
日期:2013-09-18 15:21:06CU大;照
日期:2013-09-18 15:20:58每日論壇發(fā)貼之星
日期:2016-07-21 06:20:00
14 [報告]
發(fā)表于 2011-09-08 21:11 |只看該作者
1,初學者怎么入門Web開發(fā)?
  有VB基礎的當然用ASP
  有C基礎的建議用PHP
  有JAVA基礎的還是建議用PHP,簡單嘛。
  在接觸PHP之前是用的CGI , 用過perl,自己也寫過一個簡單的CCGI程序庫
  后來PHP得到了發(fā)展,也就一直在用PHP方便嘛
  在實際應用過程中,ASP的部署還是比較簡單的,易用,人手還便宜。
  在一些小應用中ASP的整體性能要比PHP高。

2,你選哪種Web開發(fā)技術,JEE、PHP、.Net、RoR、Django......?,依據(jù)是什么?
  目前用的是C,因為連CCGI也算不上,幾乎全套都是自己寫的。
  SOCKET引擎+CGI數(shù)據(jù)處理,最后用OTL來連接ORACLE。
  這個構架花了我接近一年的時間不斷完善。過程和原因正好就是第三點。

3,如果你是一名Web開發(fā)者,請把你在Web開發(fā)中遇到的性能問題跟大家做個分享。
a.前提:由于某些行業(yè)非強制規(guī)范,要求實現(xiàn)SOA。同時不能有知識產(chǎn)權問題。
        數(shù)據(jù)庫可以甲供,但操作系統(tǒng)什么的一般不會甲供,所以除了數(shù)據(jù)庫,其他成本都要低。
        維護量還要小。
b.選型:
  用PHP代碼的保密性比較差,加密的話就涉及到成本問題,所以PHP扔掉。
  ASP,.NET也扔掉總體成本還是比較高,而且在前一個版本的運行中發(fā)現(xiàn),WINDOWS服務器的
  超內(nèi)存使用會有一些意想不到的問題。現(xiàn)在想來還是心有余悸,這也是重新構架軟件的主要原因之一。
  后來考慮用PYTHON來實現(xiàn),這樣構架上比較方便,而且各方面好評也比較多。
     在實際應用中發(fā)現(xiàn)PYTHON有一個不好地方,就是內(nèi)存管理上面,并發(fā)量一上來,內(nèi)存就吃得比較多
     同時國內(nèi)的PYTHON用的人也不多,完成后,后繼維護比較困難。
     PYTHON處理中文什么的還是比較搞的,后來用PYTHON做了一個小項目后就扔掉了。
  再后來自己設計了一個代碼生成系統(tǒng),用PHP來生成C代碼,用NGINX+FASTCGI+OTL。
     看上去好象不錯。也可能是自己水平問題,生成的代碼運行一段時間以后進程會陸陸續(xù)續(xù)掉下去。
     這個情況在hi-pda也經(jīng)?吹揭辉L問就是500,要重啟spawn比較麻煩。要知道hi-pda是用的php,
     所以綜合一考慮,spawn-fcgi方式還是扔了吧,寫好的500K的代碼也就直接扔了。
     更主要是在不同的LINUX上布署NGINX,F(xiàn)ASTCGI實在也不是個好差事!
     NGINX的配置也比較麻煩,業(yè)務系統(tǒng)和網(wǎng)站系統(tǒng)在nginx里混合也很亂,這個規(guī)劃真的不太好做。
     
c.結果:
  WEB其實很容易,就是輸入一堆字符串,再輸出一堆字符串。
  所以自己寫個SOCKET框架,架設起來就很容易,布署起來也就不需要親自出馬,只要懂得chown cp的就可以部署。
  自己寫個cgi分析,把輸入的值全部變成char * ,出于安全還可以提前做好過濾操作,從低層做了全局的輸入安全保障。
  最后業(yè)務邏輯不管輸入的是GET還是POST還是SOAP,只管讀參數(shù)處理就OK
  另一個很大的好處就是可以用C++與其他的業(yè)務邏輯進行耦合。
  
d.應用:
  調(diào)試很方便,因為可以象PYTHON那樣在控制臺上輸出調(diào)試信息,比PHP ASP JSP都爽
  布署方便,裝好ORACLE客戶端,配置好信息,在rc.local里啟動,最多再cron里殺殺可以保證運行穩(wěn)定。
  性能方便和APACHE+PHP做一個比較,用AB做了一個簡單的測試
  1.純IO,比APACHE略差,做了SOCKET池后,有了比較明顯的提升。
  2.數(shù)據(jù)庫操作,快的不是一點點。
  部署了近一個月了,運行非常穩(wěn)定。
  
e.結論:
  想要在維護中少花精力,就在前提做好設計。這個應用還是比較極端的可能不具有代表性
  但在實際WEB開發(fā)中,想要以后偷懶的人,值得一起思考一下。

論壇徽章:
0
15 [報告]
發(fā)表于 2011-09-09 08:18 |只看該作者
本帖最后由 首天 于 2011-09-09 11:35 編輯

先占個位子

論壇徽章:
4
CU十二周年紀念徽章
日期:2013-10-24 15:41:34獅子座
日期:2014-02-10 17:22:57技術圖書徽章
日期:2014-02-18 08:44:12技術圖書徽章
日期:2014-04-29 14:15:42
16 [報告]
發(fā)表于 2011-09-09 09:17 |只看該作者
本帖最后由 gnah 于 2011-09-13 18:14 編輯

做過JEE,.net,django
最后又回到了JEE

說下JEE吧,導致性能問題的因素比較多,線程數(shù)配置,內(nèi)存,sql效率,緩存等等。
我們生產(chǎn)環(huán)境用的是Tomcat,根據(jù)服務器具體情況,設置合適的線程數(shù)(maxThreads),數(shù)據(jù)庫連接池最大連接數(shù)了,最少空閑連接數(shù)量等等,發(fā)揮服務器最大的性能。
對于內(nèi)存方面Web長期使用產(chǎn)生OOM等,可以profile找出原因并盡可能解決之。
編碼方面,工廠模式,單例模式的運用很重要,可以減少對象創(chuàng)建的數(shù)量,減少內(nèi)存使用,降低垃圾回收頻率。
如果用apache commons logging或直接log4j,要加保護代碼,減少字符對象的創(chuàng)建,要養(yǎng)成良好的習慣。

JEE的許多orm產(chǎn)品提供了緩存機制,對性能也很有幫助,比如我現(xiàn)在正在做的項目使用的JPA
開啟二級緩存(L2 cache)后,性能有了明顯的提高。(當然,也碰到了一些問題,比如多個app server之間同步問題,等等)

還有些優(yōu)化不是JEE獨有的:
比如瀏覽器緩存,對于靜態(tài)內(nèi)容,圖片,js,css等等,可以將expires header設定的比較長些,可以減少服務器負擔。
還有文本內(nèi)容的壓縮傳輸?shù)?/td>

論壇徽章:
381
CU十二周年紀念徽章
日期:2014-01-04 22:46:58CU大;照
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大;照
日期:2013-03-13 15:38:52CU大;照
日期:2013-03-14 14:08:55CU大;照
日期:2013-04-17 11:17:19CU大;照
日期:2013-04-17 11:17:32CU大;照
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大;照
日期:2013-04-17 11:17:47CU大;照
日期:2013-04-17 11:17:52CU大;照
日期:2013-04-17 11:17:56
17 [報告]
發(fā)表于 2011-09-09 10:22 |只看該作者
回復 15# tomac_cu


用PHP代碼的保密性比較差,加密的話就涉及到成本問題,所以PHP扔掉。

這個應該是php一直被稱為"草根"語言的原因之一吧.正如你帖子里面講的,php源代碼加密確實成本有點高.Java倒是可以編譯,但是,在學習過程中,修改代碼需要編譯,時間成本又提高了.
喜歡php,就是喜歡他的靈活,修改容易,可以說基本上是即時修改,客戶端刷新,就能看到效果,很方便.

更主要是在不同的LINUX上布署NGINX,F(xiàn)ASTCGI實在也不是個好差事!
     NGINX的配置也比較麻煩,業(yè)務系統(tǒng)和網(wǎng)站系統(tǒng)在nginx里混合也很亂,這個規(guī)劃真的不太好做。

這個可以問下"撫琴煮酒",他在nginx做反向代理方面很有心得

    在實際應用中發(fā)現(xiàn)PYTHON有一個不好地方,就是內(nèi)存管理上面,并發(fā)量一上來,內(nèi)存就吃得比較多
     同時國內(nèi)的PYTHON用的人也不多,完成后,后繼維護比較困難。

python還沒用過呢,據(jù)說Java用內(nèi)存也很厲害!

論壇徽章:
381
CU十二周年紀念徽章
日期:2014-01-04 22:46:58CU大;照
日期:2013-03-13 15:32:35CU大;照
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大;照
日期:2013-04-17 11:17:19CU大;照
日期:2013-04-17 11:17:32CU大;照
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
18 [報告]
發(fā)表于 2011-09-09 10:45 |只看該作者
寫一個真實的例子吧,我遇到的.
web系統(tǒng)是別人開發(fā)的
1. 問題場景/現(xiàn)象:
php的CMS系統(tǒng),被人注入攻擊,成功獲取權限,修改主頁面
2. 問題分析:
通過分析apache日志,過濾POST關鍵字,獲取到攻擊者的ip,通過反查ip所有web訪問記錄,查詢到該用戶所使用的注入方法,經(jīng)過查詢源代碼,得到注入攻擊的漏洞點.
3. 問題處理:
通過分析,是源代碼中對用戶輸入的過濾有問題,那個參數(shù)應該是數(shù)字形式的,沒有進行適當過濾,使得攻擊者可以傳輸任何惡意代碼進行攻擊,并成功獲取到權限.
通過修改源代碼,那個數(shù)字參數(shù)通過a=a-0的方式,變成純粹的數(shù)字,堵上了漏洞.(php弱類型的毛病啊)
同時,加強權限管理,web目錄權限r(nóng)oot收回,需要上傳附件的目錄,才給apache用戶,同時,在apache配置文件中添加規(guī)則,附件目錄不允許執(zhí)行php文件.

4. 處理結果:
通過觀察,漏洞被成功堵上了.

5. 經(jīng)驗教訓總結:
代碼漏洞在所難免,關鍵是出現(xiàn)漏洞之后,如何能在第一時間發(fā)現(xiàn)攻擊并且修補漏洞.

論壇徽章:
381
CU十二周年紀念徽章
日期:2014-01-04 22:46:58CU大;照
日期:2013-03-13 15:32:35CU大;照
日期:2013-03-13 15:38:15CU大;照
日期:2013-03-13 15:38:52CU大;照
日期:2013-03-14 14:08:55CU大;照
日期:2013-04-17 11:17:19CU大;照
日期:2013-04-17 11:17:32CU大;照
日期:2013-04-17 11:17:37CU大;照
日期:2013-04-17 11:17:42CU大;照
日期:2013-04-17 11:17:47CU大;照
日期:2013-04-17 11:17:52CU大;照
日期:2013-04-17 11:17:56
19 [報告]
發(fā)表于 2011-09-09 11:05 |只看該作者
說起來,聊聊幾句話,可是日志分析確實是個苦差事,3G+的日志分析,通過層層過濾,最終得到的結果還有將近10M.
修改源代碼,也頗費周章,通過查詢類似的源代碼,發(fā)現(xiàn)漏洞是普遍現(xiàn)象,一通修改,大半天的時間就飛逝了.

論壇徽章:
0
20 [報告]
發(fā)表于 2011-09-09 11:44 |只看該作者
1,        初學者怎么入門Web開發(fā)?
     這個問題比較我是這樣建議的,現(xiàn)在大主流的是 java  asp.net 以后可能會有 python
下面我說下為什么。
   比如我現(xiàn)在懂vb 要不要學習 asp.net 因為畢竟都是微軟的,可能會有點相同之處,但是你入門了web開發(fā),以后肯定要深入,那就直接確定好要學習的語言,可能你喜歡開源等,到時候你要在 asp.net 轉 java 不是很郁悶?不建議學php。原因是我個人的看法。不談技術方面的,單拿 招聘的人數(shù)是 java 和 .net 里面是,企業(yè)級應用也好,還是 4大門戶也好,基本都是 java的居多。

2,        你選哪種Web開發(fā)技術
Java  這個我不說太多了,我本身也是java開發(fā)的。開源也好,大型應用也好。
4大門戶都是 java(他們不傻吧)。等,我記得看過一篇文章,忘了是美國的哪個社交網(wǎng)站了,之前是用Rails  開發(fā)的,后臺流量等問題,說要換java
3,        如果你是一名Web開發(fā)者,請把你在Web開發(fā)中遇到的性能問題跟大家做個分享。
我這個問題是一個數(shù)據(jù)接口的并發(fā)問題。
  我們公司業(yè)務需要,做了數(shù)據(jù)接口,但是測試要求達到 300并發(fā)。
測試結果:達到 200并發(fā)的時候 已經(jīng)響應超時了。
數(shù)據(jù)庫:oracle  記錄數(shù)大概在 萬條數(shù)據(jù)以內(nèi)(因為剛開始,數(shù)據(jù)庫的數(shù)據(jù)很少)
機器:32位 pcServer
這個程序,基本上就是放緩存,如果去同一條數(shù)據(jù),我會先取 Memcatch
最后得到的結論:這個硬件,就是這個瓶頸。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP