閱讀250 返回首頁    go 阿裏雲 go 技術社區[雲棲]


為什麼我們用的係統這麼爛?誰的鍋?

作者介紹

吳虞SQL專家雲團隊成員,擅長解決SQL Server數據庫性能、高可用、負載均衡等問題。

 

開篇小故事  

 

下麵的故事都是真實的,猶如雷同純屬同類,請仔細反思。

 

故事1:升級硬件

 

客戶後台數據庫存在性能問題,查詢特別慢,長時間語句很多。客戶因此而苦惱,谘詢了軟件廠商我該怎麼辦?軟件廠商給出的答案:升級硬件吧,現在的資源不能滿足了!

 

那麼客戶是什麼硬件配置?數據庫什麼體量?

 

答:128的CPU、512的內存、高端的存儲,跑了一個200G數據量的庫,好像硬件滿滿的夠用呀!

 

問題的根源就是最基本的大量少索引而已!

 

20170111100049226.jpg

 

故事2:負載均衡

 

客戶想做數據庫的負載均衡,於是找到我們,各種方案各種高大上的說,我深深的被客戶的前衛思想洗禮了一下,畢竟傳統行業很多對數據庫性能,安全方麵的一些保障不是很完善。

 

前期談得很愉快,然後我去檢查客戶的現有環境,更驚奇的事情發生了,2台跑在同一個物理機上的虛擬機要做負載均衡?

 

合久必分,分久必合的節奏?

 

20170111100116495.jpg  

 

故事3:高配更慢?

 

客戶在原有64CPU、128內存的服務器進行升級變成128CPU、512內存,升級硬件也是軟件廠商建議提高服務器配置,升級完成以後客戶發現係統更慢了!這也可以?

 

20170111100144173.gif

正常的情況添加硬件資源不會出現這樣的情況,那這個客戶是為什麼呢?找了服務器的廠商各種檢測,各種報告分析,無法得知原因,最終換回原配置的服務器。

 

這是為什麼:該軟件廠商的程序基本是使用定製化模板,根據業務拚接,開發方便,但是後台語句條件複雜,語句龐大在數據量增大以後語句的執行變得很耗資源,也更依賴與CPU的並行,在沒有設置並行度的情況下升級硬件(添加CPU),導致並行度過高,語句執行更慢。說白了就是簡單的一個參數配置問題!

 

這些問題你是否有?  

 

20170111100153879.jpg

 

這樣那樣的問題到底是什麼原因呢?誰又該來改善這樣的現狀呢?

 

用戶的問題  

 

在很多傳統行業裏,IT部門沒有專門的DBA,或者所謂的DBA是這樣一種角色:往往身兼數職(網管、項目管理、協調廠商、DBA、開發、應用、寫報告),既有很多協調性的管理工作,又有一些專業技術工作。這其實和網上產品經理的段子很類似。

 

其實也就是說用戶沒有管理好自己的數據庫,很多時候數據庫的一些運維配置都停留在軟件廠商部署時候的配置,經過幾年的業務和數據的積累這些配置可能早就不適用了。再說日常的體檢,隨著業務增長的長期規劃....好吧,那就更是沒有了!

 

而且更糟的是,在日常的使用過程中對數據庫還存在一些改造,比如毫無規劃的添加數據表,一些周邊功能的開發,其他方案的拚接。

 

所以問題慢慢地積累,慢慢地爆發。

 

看到這有些看官自然會想,我們購買的軟件,數據庫不應該是軟件廠商管的東西麼?為什麼我們要請DBA呢?

 

軟件廠商的問題  

 

我幾年的開發經曆中就有過在軟件廠商做運維的經曆,那個時候真的是頭大,天天電話不斷今天這問題,明天那問題:業務問題,數據不一致問題,功能修改,新功能上線,無聊的會議,客戶突發奇想我還得跟著聽聽吹牛。我可以誇大點說當時在做開發沒有轉到DBA的時候,我的數據庫技能可能是整個運維團隊裏最好的:基本的調優,索引的應用,一些係統視圖的應用,指標的檢測,聽起來挺厲害了吧!

 

所以我就是運維中的DBA了?

 

現在回想起來,其實那個時候對數據庫的了解根本沒有成體係,對問題的分析也是比較片麵的。解決問題也是東一錘子西一棒子,加個索引CPU指標降下來了,語句也快起來了,認為問題解決了,其實可能並沒有。

 

嗬嗬,但是!在運維的時候我一天天忙得像狗一樣,客戶不反應問題,我肯定不會主動做優化做體檢,客戶反映問題了,簡單看一看能推就推,客戶急眼了,能安撫就安撫,迫不得以出手解決一下,長期積累的問題花了很長的時間,還很可能解決不了(苦笑)。

 

看到幾個指標高,又解決不了,那麼第一反應基本就是加硬件吧。

 

矛盾點  

 

用戶不會配置專門的人幹這樣的事情,感覺都是廠商的問題,而廠商的人手技能也有限,很多軟件廠商沒有專業的數據庫人員,又不一定能做這樣的事情,最酷(苦)的就是運維人員、開發人員整天從早忙到晚連口水都喝不上,卻被打上差評的標簽。廠商在客戶麵前慢慢的失去了信服力,客戶對於遲遲不能解決的問題更是很氣憤,還想繼續收運維費用?廠商有時也很無奈,很多時候又並不是軟件的問題。

 

矛盾  矛盾  矛盾  

扯皮  扯皮  扯皮

 

說說企業運維  

 

也許是崇洋媚外,接觸過幾家國外的軟件公司他們的運維保障服務做得確實好,但價錢也確實高,反觀國內的一些軟件公司很多公司在開發階段基本是賠錢賺吆喝,而運維保障費用才是收入的開始,但是運維保障的效果確實不怎麼理想,當然如果你是大客戶給得起錢,那自然駐場工程師多多,服務周到,解決不了的問題也要死磕到天亮。

 

慢慢的,國內協作運維服務已經熱起來,專業的人幹專業的事兒~也許這樣的第三方運維引入可以解決上麵的問題,一部分企業已經先行嚐到了這種你好,我好,他也好的甜頭。

 

目前的企業運維服務已經是這個樣子了:

 

企業服務市場,橫向按客戶規模分為大客戶市場和中小客戶市場,縱向目前最火的三大領域分別是大數據、雲計算和運維服務市場,雲再細分為SaaS、PaaS和IaaS,這樣就構成了如下市場布局:

 

20170111100203578.jpg

 

從運維服務產品角度來說,至少分為三層不同的能力,每一層都有各自不同的特點和要求:

 

  • 可視化統一管理能力:從統一信息采集、監控告警到可視化運維管理能力,這個是ITOM的基礎能力,做到運維服務的統一管理和可視化;

  • 自動化運維服務能力:從運維自動化的統一控製、任務編排、網絡業務開通和執行到自動化運維服務場景迭代,這是ITOM升級進化的必然之路,做到工具解放人力。

  • 場景化驅動業務能力:運維產品最終要為運維服務、要為業務服務,從敏捷開發到敏捷運維,實現工具優化業務,讓運維更敏捷。

 原文發布時間為:2017-01-11

本文來自雲棲社區合作夥伴DBAplus

最後更新:2017-05-15 17:01:46

  上一篇:go  如何使用與維護,才能把MySQL GR發揮到極致?
  下一篇:go  互聯網企業安全高級指南1.2 企業安全包括哪些事情