曾經發生在身邊開發過程中的靈異事件

  這些年的開發過程中,稀奇古怪的問題沒少遇到。所謂常在河邊走,早晚遇見鬼。
  舉幾個例子,當年用IP卡打電話太多太勤,竟然有好幾次在打完電話之後,發現卡上的餘額一點沒少!肯定是電信的計費系統有問題,哼哼,被他們剝削了這麼久,佔他們一點便宜也心安理得!聽說現在經常還有個人銀行卡莫名其妙多錢少錢的事情,覺得銀行的系統也不過爾爾。

分享幾個我曾經遇到的幾個怪問題,比較有難度和迷惑性。可有同道也遇到過類似的奇怪問題?
動用你智慧的大腦,先分析一下這幾個事件的原因。稍後我會給出最終的解決方式,但不一定是正確的和最好的。集思廣議先。
[b]問題一、客戶無法登錄系統[/b]
  貌似,這不能稱得上是一個問題吧?按常理,無法登錄,那肯定server端出問題了,或者是程序,或者是數據庫。再不濟,也是客戶自己的原因。
  話說在2002年的某一天,公司網站(apache+php)出現了全國約一半的用戶無法登錄的情況,輸完用戶名和密碼就報“該頁無法顯示”(恨人啊,你要再說得詳細點也好),但是在我們公司內部,是可以正常登錄的。不能登錄的用戶分佈在全國各個地區,但不解的是,在同一個地區,竟然也有部分用戶能登錄部分不能登錄的情況。這是怎麼回事?大家都是一頭霧水。要說server端有問題吧,又有一半的用戶能登錄。要說那一半不能登錄的用戶客戶端或網絡的問題吧,可是他們的情況不一,分散全國各地,怎麼會這麼巧合呢?再說B/S結構,客戶就是只需要瀏覽器的嘛。
  親自到北京的一個客戶那裏去,在他們的電腦上試了一下,還真是報這樣的錯誤(試着登錄了幾十次,竟然有一次還登錄成功了,怪)。
  why??

[b]問題二、數據庫事務部分失效[/b]
  一個系統中有一個數據導入的模塊,一直運行得很正常很正常。突然有一天,客戶反映最近有一部分數據經常丟失,導不進去。甚爲驚訝,不應該啊,我們是開啓了事務的,要導就全導進去,或者全部無法導入,怎麼會出現只導入一部分數據的情況呢?而且,把數據拿到我們這邊的測試環境中,一點問題也沒有啊。只好親自到客戶那邊,自己一試,還真是會少一部分數據。而且每次少的數量都不一樣,就是沒有一次全部導入的!
  檢查代碼,事務開啓/執行sql/提交/回滾,沒問題。
  在運行過程中跟蹤每一條導入數據的sql語句,沒有發現哪一條sql報錯。最後也正常執行了commit。
  把所有的sql打印出來,統一放到sql客戶端去手工執行,數據全部導入,一條不少!
  代碼也沒問題,sql也沒問題,事務也沒問題,那問題還是出現了,why??
  [color=red][b][數據庫是sqlserver2000][/b][/color]

[b]問題三、系統的查詢統計速度極慢[/b]
  一個決策支持系統,主要做統計分析,數據量雖然很大(10幾個G),但運行得一直很穩定,速度也還不錯。但突然有一天,客戶反映統計分析的速度變得極慢,慢到無法使用。
  到現場,代碼沒問題,並且一直沒動過。那就處理數據庫吧,重建索引,不行;重新部署安裝環境,不行;重新安裝sql server,不行。
  把統計分析的代碼取出來,到sql客戶端執行,速度挺快的嘛!爲什麼同樣的代碼,在程序裏執行就那麼慢呢?
  why??
  [color=red][b][數據庫是sqlserver2000][/b][/color]

[b]問題四、表單信息無法提交[/b]
  由於客戶衆多(幾萬家),所以報的錯也是五花八門。
  有一個表單提交(post),有很多小數據項,大概有三四十項的數據吧。提交後臺保存,一般都沒什麼問題。但是就是有幾個客戶反映,他們一提交,後臺程序就報錯(前臺javascript並沒報錯),提示他們要先輸入數據。我們這邊做測試,填入和客戶一模一樣的數據,不報錯啊!怎麼回事?
發佈了0 篇原創文章 · 獲贊 0 · 訪問量 3426
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章