emu in blogjava

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks

          項目的PV長期徘徊在每天1億多個PV,雖然同時在線數一直在沖新高,PV始終沖不上去。doudou用其它方式做PV統計也證實了emu的方式是存在問題的,但是到底是什么問題呢?我們來看一下發起PV統計的代碼是怎么寫的:

          new ?Image().src = " 統計PV的CGI " ;

          就一行代碼,還能有錯嗎?能有什么錯呢?難道請求的結果被IE給cache了?反復檢查了http header,嘗試了加隨機數來禁止cache,都沒有用

          用sniffer反復試驗后證實,上面的方式確實有的時候發不出去http請求。再看了一眼代碼:

          new ?Image().src = " 統計PV的CGI " ;

          突然靈光一現,找到原因了!

          如果在創建Image對象的時候,瀏覽器的不忙,垃圾回收器正好被喚醒來收垃圾了,GC會發現這個Image根本就沒有句柄來引用,屬于可以回收的垃圾,因此會在請求發起之前就把這個對象給回收掉了。本來創建這個對象的時候刻意不保存引用句柄來方便GC回收它,可是沒想到GC有可能回收的這么快,那就保存一個句柄吧:

          var ?tmpImage? = ? new ?Image();
          tmpImage.src
          = " 統計PV的CGI " ;

          修改發布之后,一天內PV劇增了8000萬。

          有的時候我們也用Image對象來做其它功能的,比如跨域發送http請求,比如測試網速等等,都需要小心這個問題。

          posted on 2006-06-28 10:51 emu 閱讀(3047) 評論(9)  編輯  收藏

          評論

          # re: fix一個bug,一天增加近億個PageView 2006-06-28 14:43 江南白衣
          這么開心的事情,是不是見者有份,回復的都管一頓飯啊.  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-06-28 17:17 原創專欄 開源學習
          不知道能不能蹭來飯,但頂是頂了。  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-06-28 22:07 emu
          呵呵要是回復都管一頓,emu的積分排行恐怕很快就可以超過白衣了。不過要是白衣大哥真的賞臉,多管幾頓又有何妨?  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-06-30 20:10 google
          最后得出結論:這里確實值得經常來!  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-07-07 14:00 eamoi_nologin
          從上面的留言看,好像是真的有管飯。
          趕緊回復一下。emu,記得噢。  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-09-30 10:11 陳朋奕..
          果然是技術達人……
          PV多了8000萬,你們老板會管一頓飯吧,到時叫上我咯  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2006-11-01 16:03 XS
          還好我向來不直接 new Image().src ,習慣先定義obj,再obj.src  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2009-05-15 16:39 魔獸世界私服
          細心的高手,學心了....  回復  更多評論
            

          # re: fix一個bug,一天增加近億個PageView 2009-05-15 16:41 藏獒
          你是高級工程師啊,NB...  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 会宁县| 安新县| 台东县| 兴义市| 惠安县| 宁明县| 昆明市| 南丰县| 日喀则市| 酒泉市| 安康市| 封丘县| 贵德县| 仙桃市| 兴隆县| 西盟| 长沙市| 贵南县| 广元市| 德兴市| 灵川县| 扶余县| 高唐县| 万州区| 江川县| 利津县| 永春县| 水城县| 登封市| 翁牛特旗| 云龙县| 修水县| 永靖县| 湄潭县| 如皋市| 新化县| 保亭| 丹阳市| 红原县| 邯郸市| 云安县|