欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    7月19日,話題“微軟藍屏”沖上了熱搜榜第一。微軟公司旗下部分應用和服務出現訪問延遲、功能不全或無法訪問問題,大量用戶端電腦出現藍屏現象。這個技術故障席卷全球,短短兩個小時,就造成一場令人措手不及的大規模事件:多個國家和地區航班停飛,醫療、銀行、酒店等行業“停擺”,連倫敦股票交易所都受到波及……微軟很快就查明事故的根因并及時處理,此次故障與一家與微軟有關聯的全球安全公司CrowdStrike有關,因為推送了一個“更新”,卻觸發了某些Windows的bug導致了系統藍屏。

    重視代碼質量,不斷優化質量控制機制,才能保證系統的安全性和穩定性。數據庫層面如果出現這種失誤也必將會造成巨大影響,那么該如何避免呢?

    功能上線前SQL質量把控的必要性

    在功能上線前,開發者通常需要進行SQL變更。這些SQL語句,在上線前很難識別是否存在潛在的坑和性能問題,發布后一旦出現錯誤,可能會導致數據丟失、性能下降甚至系統崩潰,對業務產生嚴重影響。因此在上線前進行SQL審核是非常有必要的,下面我們通過一個簡單的例子來詳細說明。

    表結構和業務代碼簡化如下:

    create table user_login_history (
    `user_id` varchar(32) NOT NULL PRIMARY KEY COMMENT '用戶id',
    `login_time` int(11) NOT NULL DEFAULT 0 COMMENT '登錄時間',
    `login_status` varchar(32) NOT NULL DEFAULT '' COMMENT '登錄狀態:success|failed',
    `failure_reason` VARCHAR(255) DEFAULT '' COMMENT '登錄失敗原因'
    );

    業務代碼中涉及到如下相關SQL語句:

    // 插入登錄歷史
    stmt, err :=conn.Prepare("insert into user_login_history values(?,?,?,?)")
    if err != nil {
        log.Logger.Errorf("prepare sql failed")
        return err
    }
    // 定期清理歷史表
    sql := fmt.Sprintf("delete from user_login_history where
    login_time<unix_timestamp(now())-%d limit 100", timeBefore)
    for {
    _, err := conn.Exec(sql)
    if err != nil {
    log.Logger.Errorf("DelLogInHistory exec sql  failed, sql:%s, err:%v", sql, err)
    }
    time.Sleep(10 * time.Second)
    }

    上面SQL存在哪些問題?

    從上面的代碼中可以看到有以下兩個問題:

    1)代碼中插入user_login_history表沒有指定列名,新功能版本需要對該表進行新增字段,采用以下兩種發布方式,會出現什么結果?

    • 方式一:先發布該表新增字段的SQL,然后滾動升級應用。
    • 方式二:先修改原有的版本將user_login_history表進行指定列名insert,然后滾動升級,升級完成后再發布新版本,先發布該表新增字段的SQL,然后滾動升級應用。

    很多小伙伴是不是也會選擇方式一進行發布,如果你真這么做了,那么一次故障review少不了。從執行新增字段SQL開始,滾動升級這段時間,老版本服務insert into user_login_history將會失敗(由于新增的字段老版本服務代碼中沒有指明對應的value,字段個數對不上)。

    選擇方式二的小伙伴也許曾經踩到過類似坑吧,第一次服務滾動發布修復insert表未指定列問題,第二次服務滾動發布進行新功能發布。

    2)歷史表數據量一般都比較大,需要定期按照時間進行清理。從上面代碼看user_login_historylogin_time字段未添加索引,如果該表數據量增長迅猛或清理任務堆積,那么也會存在問題。

    • 系統剛上線時用戶量比較少,并且只保留7天內的登錄歷史,沒出現性能瓶頸,但是隨著業務的增長,7天內的登錄量超過幾十萬甚至幾百萬,那么清理的SQL將變慢。
    • 當SQL變慢,清理的任務會存在delay或者積壓,會導致單條SQL掃描的頁越來越多,甚至引起磁盤IO打滿。一旦IO打滿那么災難就來了,應用服務重啟也沒用,只要有清理任務調度基本就掛。

    清理任務涉及的login_time字段沒加索引全表掃描,導致磁盤IO異常,從而會影響業務穩定性。

    為什么會出現這么低級的問題呢?

    對于開發同學來說,由于日常開發任務緊,一些類似insert不指定列的問題沒有足夠重視,先完成功能(不指定字段代碼寫起來比較省事),往往就會引入此類問題。不加索引導致故障的問題數不勝數,剛開始業務量比較小,表中數據不多,就算沒索引也不會存在問題,缺乏對業務未來的評估。

    通過這個例子也能看出依賴人工進行SQL審核和代碼Review并不能完全識別出潛在問題。比如以下場景:

    • DBA或者SE比較忙沒時間進行仔細的SQL審核
    • 有些公司也沒有專職DBA,
    • SQL質量全靠開發自己負責。

    人工Review的方式不靠譜,那么有沒有好的工具能識別出類似上述問題呢?

    DBdoctor自動批量SQL審核(規范審核+性能審核)防止“藍屏事件”發生

    行業內SQL審核的工具比較多,但大多數都聚焦在規范審核上,缺少針對SQL性能的審核。近期DBdoctor發布了批量性能審核的功能,開發人員可以快速發現并解決SQL語句中的各種問題,大大提升SQL質量和系統的穩定性。

    • 提升審核效率:支持SQL窗口輸入和上傳SQL文件兩種方式,自動化的批量審核大幅減少了手動審核的時間和工作量,極大地提高了審核效率。
    • 統一審核標準:系統化的審核規則確保了SQL語句審核的一致性和準確性,避免了人工審核的主觀差異。
    • 提前性能審核:行業獨有的外置Cost優化器,無需任何變更,開發階段即可評估該SQL未來上線后的性能,自動推薦最優索引,提前解決性能問題。
    • 降低人工成本:減少了對高技能審核人員的依賴,降低了SQL審核的整體成本。
    • 優化數據庫性能:通過全面的性能優化建議,確保數據庫運行在最佳狀態,提升應用程序的響應速度。
    • 實時反饋:審核結果實時生成,便于開發者快速定位問題并進行修正。

    如何用DBdoctor進行批量SQL審核

    1.上傳DDL文件

    將此次版本涉及到的DDL文件上傳。

    2.查看任務詳情

    任務詳情中分別展示每條SQL的審核結果。

    3.查看審核詳情

    審核結果中對性能審核結果和規則審核結果分別展示。

    4.同樣的步驟審核DML文件

    可以看到插入語句未顯示指定列名插入,當表中存在1000條數據時,加上索引性能提升543倍,并提示出添加索引的SQL語句。

    結語

    在當今數字化的時代,數據庫的穩定和高效運行對于各行各業來說都是至關重要的。SQL語句作為數據庫操作的基石,其質量和性能直接關系到整個系統的穩定性和安全性。然而,面對海量SQL語句的審核需求,傳統的人工審核方式早就不能滿足效率及準確率的需求。DBdoctor作為一個先進的數據庫性能診斷和優化平臺,提供的批量SQL審核功能,可幫助開發者和數據庫管理員在多場景下對SQL語句進行高效、準確的審核,有效避免潛在事故的發生!

    DBdoctor介紹

    DBdoctor是一款企業級數據庫監控、巡檢、性能診斷、SQL審核與優化平臺,致力于解決一切數據庫性能問題。采用eBPF技術可對數據庫做細粒度的掃描,幫助您一分鐘內找到數據庫性能問題,實現性能診斷百倍提效。針對數據庫性能診斷門檻高、耗時長的問題,DBdoctor提供了快速易用的解決方案,深入到數據庫內核,提供精準的診斷分析和優化建議。基于內核Cost精確評估技術,可以在SQL上線前審核性能問題,并給出優化建議,提前規避故障發生。

    關注【DBdoctor】公眾號了解更多信息!

    從昨天開始,全球范圍內的Windows系統的 電腦,出現了大范圍的藍屏死機問題!目前已經確認的是,這個全球性的電腦藍屏的元兇就是CrowdStrike 。CrowdStrike 是一家領先的網絡安全技術提供商,為終端、云工作負載、身份和數據提供安全服務。CrowdStrike 深受 298 家財富 500 強企業、美國 43 個州、6 家排名前 10 的醫療保健提供商和 8 家排名前 10 的金融服務公司的信賴,是業內的佼佼者。其 Falcon 平臺是一種統一的、云交付的安全解決方案,旨在防止所有類型的攻擊,包括惡意軟件等。然而, Windows 上Falcon Sensor代理的最新更新引發了一個嚴重問題:藍屏死機 (BSOD) 啟動循環導致受影響的系統無法使用。這一普遍存在的問題擾亂了各個行業的運營,尤其影響了航空公司、銀行和醫療保健提供商。

    CrowdStrike 已確認該問題并停止進一步部署錯誤更新。向用戶發送的警報確認他們知道與 Falcon Sensor 相關的 Windows 主機崩潰,特別是錯誤檢查/藍屏錯誤。不幸的是,恢復陷入 BSOD 啟動循環的 Windows PC 的官方解決方案仍然難以捉摸。有幾種解決方法可以解決此問題,請閱讀下文。


    Windows PC 上 CrowdStrike BSOD 問題的官方解決方法:


    • 將您的 Windows PC 啟動到安全模式或 Windows 恢復環境。
    • 轉到 C:\Windows\System32\drivers\CrowdStrike
    • 找到并刪除與“C-00000291*.sys”匹配的文件
    • 正常啟動


    另一種方法是使用以下任一方法阻止 CrowdStrike 啟動:


    方法 1:


    • 從恢復選項進入命令提示符。
    • 輸入以下命令,給它進行刪除掉最新的更新文件
    • del C:\Windows\System32\drivers\CrowdStrike\C-00000291*.sys
    • 重新啟動
    • 電腦即可解決問題。


    方法 2:


    • 將您的 Windows PC 啟動到安全模式或 Windows 恢復環境。
    • 轉到 Windows 注冊表
    • 編輯以下鍵以禁止 csagent.sys 加載。 HKLM:\SYSTEM\CurrentControlSet\Services\CSAgent\Start 從 1 到 4


    如果您在 AWS EC2 實例上運行 Windows,則可以嘗試以下方法:


    • 將 EBS 卷與受影響的 EC2 分離
    • 將 EBS 卷附加到新的 EC2
    • 按照 CrowdStrike 建議的解決方法修復 CrowdStrike 驅動程序文件夾
    • 從新的 EC2 實例中分離 EBS 卷
    • 將 EBS 卷附加到受影響的 EC2 實例


    上述方法也適用于在 Google Cloud Platform 上運行的 Windows 實例。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有