ホームページ  >  記事  >  データベース  >  mysql アドバンスト (20) CPU 過負荷例外

mysql アドバンスト (20) CPU 過負荷例外

黄舟
黄舟オリジナル
2017-02-10 11:12:011182ブラウズ

CPU 過負荷例外

問題

プロジェクトの展開フェーズ中、オーダーを送信するときに常に CPU 過負荷が発生し、マシンがフリーズしてオーダーの送信が失敗します。下の図はタスク マネージャーを通して見ることができます:

タスク マネージャーでプロセス情報を確認すると (下の図を参照)、プロジェクトの実行により CPU が過負荷になっていることがわかります。犯人は誰ですか?出力されるテスト文が多すぎるためでしょうか? テスト出力文を減らしてみてください。

根本原因を追跡

調査の結果、注文を送信し、3002トランザクションを実行するときに発生したエラーでした。もう一度実行して、どのステップが原因なのかを確認してください。データテーブルの操作が原因でしょうか?事実を踏まえて話しましょう。下図に示すように、操作順序メインテーブルlm_billが実行されると、プログラムは実行を停止します。この時点で、CPU100%に達しています。

案の定、

SELECT * FROM lmapp.lm_addr where uid='U18353102068' AND addrid='1' limit 0,1000

を実行すると、現時点ではデータベース内のクエリが実行され、結果は空です。そしてプログラムはいつでも待っています!ビジネス ロジックに重大な抜け穴があることがわかります。

次のエラーが検出されました

:

java.sql.SQLException: 不正な文字列値: 列 'medname' の行 1 の 'xA2x97xE7xB2x92'

ワイプ

長時間検索しています , オンラインデータベースにデータを書き込んでいるときに、特殊文字,をいつ追加したか分からず、テーブルを読み取るときに予期しない例外が発生したことがわかりました。酔っ払いも!

参考:

http://www.php.cn/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。