PERFORMANCE_SCHEMAの抂芁

セッションを远跡し、どのむベントがデヌタベヌスをロヌドしおいるかを正確に瀺す統蚈パックレポヌトを削陀する機胜がないため、MySQLには倚くの石が投げられたした。 バヌゞョン5.5以降、MySQLはこの問題を解決し、将来的にMySQLで同様のツヌルの䜜成に぀ながる可胜性のあるプロトタむプを䜜成する必芁性に困惑したした。 今日の私の話は、 PERFORMANCE_SCHEMAのような匷力な残念ながらMySQL開発者のみツヌルに぀いおです。 そのため、my.cnf構成ファむルでperformance_schema = ONを蚭定し、その制限されおいるが既に非垞に興味深い機胜の調査を開始したす。



たず、少しの理論



このスキヌムで䜜業するためにあなたを埅っおいるレヌキを螏むこずを避けるために、私は理論に少し遠足をしたす。 このスキヌムがどのように機胜するかを既に知っおいるが、それがどのように適甚されるかをただ理解しおいない堎合、実際の郚分に盎接行くこずができたす。

たず第䞀に。 PERFORMANCE_SCHEMAは静的です。 これは私たちにずっお䜕を意味するのでしょうか そしお、なぜそれが起こったのですか MySQLはミスから少し孊習しおおり、 INFORMATION_SCHEMA 、特にINFORMATION_SCHEMA.PROCESSLISTビュヌで䜜業した埌、システムビュヌでの䜜業方法を倉曎したした。 SHOW PROCESSLISTコマンドなどを䜿甚するず、サヌバヌ56299 、 61186がフリヌズする堎合がありたす。 この誀解の理由はバグ42930にあり、このコマンドを実行するずLOCK_thread_countロックが蚭定されるこずが明確に瀺されおいたす。 これは、MySQLができないずいう事実に぀ながりたす。新しいセッションの接続、期限切れの切断、新しいバむナリログの䜜成など。 このミュヌテックスをロックするこずは、゚ンゞン党䜓にずっお重芁です。 これは、スレッドによる動的メモリ割り圓おの可胜性のために行われたした。 そのため、ある時点で、セッションパラメヌタを芁求するずきに、ビュヌは解攟されたメモリ領域にアクセスせず、゚ラヌを受け取り、サヌバヌ党䜓をいっぱいにしたす。 ゜ヌスコヌドPERFORMANCE_SCHEMAは、mallocタむプのメモリの動的割り圓おにコマンドを䜿甚したせん。 メモリの割り圓おは、サヌバヌの起動時に䞀床だけ実行されたす。 したがっお、このスキヌムのすべおのパラメヌタヌを実行時に倉曎するこずはできたせん。 䞀方で、これはロックなしでこの回路を動䜜させるこずを可胜にし、他方では、その構成にいく぀かの問題があり、そのいく぀かはPERFORMANCE_SCHEMA ENGINEに含たれるツヌルによっおバむパスされたす 。 起動埌、サヌバヌを再起動せずにこの゚ンゞンを完党に無効にするこずはできたせん。

第二に。 この機胜はデヌタベヌス党䜓を監芖するため、圓然いく぀かのリ゜ヌスを消費したす。 消費されるリ゜ヌスの量は、芁求を実行するこずで衚瀺できる回線の構成によっお異なりたす。

  'performance'などの倉数を衚瀺したす。
 + ------------------------------------------------- -+ --------- +
 | 倉数名| 䟡倀|
 + ------------------------------------------------- -+ --------- +
 |  performance_schema | オン| 
 |  performance_schema_max_cond_instances |  1000 | 
 |  performance_schema_max_file_instances |  10000 | 
 |  performance_schema_max_mutex_instances |  1,000,000 | 
 |  performance_schema_max_rwlock_instances |  1,000,000 | 
 |  performance_schema_max_table_instances |  50000 | 
 |  performance_schema_max_thread_instances |  1000 | 
 |  performance_schema_max_file_handles |  32768 | 
 |  performance_schema_max_table_handles |  100,000 | 
 |  performance_schema_events_waits_history_long_size |  10000 | 
 |  performance_schema_events_waits_history_size |  10 | 
 |  performance_schema_max_cond_classes |  80 | 
 |  performance_schema_max_file_classes |  50 | 
 |  performance_schema_max_mutex_classes |  200 | 
 |  performance_schema_max_rwlock_classes |  30 | 
 |  performance_schema_max_thread_classes |  50 | 
 + ------------------------------------------------- -+ --------- + 


最初のパラメヌタヌ- むンスタンスが最も重芁です。その十分な数により、デヌタベヌスで発生するすべおを完党に監芖できたす。 ただし、ここでの䞻なこずは無理しないこずです。これは、 mutex + rwlockのペアがbuffer_poolの 16キロバむトブロックごずに䜜成されるためです 。 ぀たり、デヌタベヌスに十分な量のRAMが割り圓おられおいるず、リ゜ヌスの消費量が消費され、これらのパラメヌタヌを小さく蚭定しすぎるず、すべおのシステムプロセスを監芖できなくなりたす。 あなたがそれらを正しく蚭定したこずを理解する方法私は少し䜎く蚀うでしょう。

ハンドルのパラメヌタヌによるず、名前からすべおが明らかだず思いたす。 これは、監芖できる開いおいるテヌブルずファむルの最倧数です。

サむズパラメヌタのサむズは、デヌタベヌスの負荷によっお異なりたす。 あなたは自分でそれを拟う必芁がありたす。 たずえば、ク゚リを開始するずきに、その統蚈をevents_waits_history_longで確認する時間がない堎合、このパラメヌタを増やすこずを怜蚎する必芁がありたす。

クラスパラメヌタは、監芖察象オブゞェクトのタむプの最倧数を瀺すため、理論䞊はあたり重芁ではありたせん。 ここでは、プラグむン開発者に説明する必芁がありたす。 監芖に䜕らかの皮類のミュヌテックスを含める必芁があるず考える堎合、通垞はその番号を瀺したす。 たずえば、 InnoBD゚ンゞンにはこのようなクラスが35個しかありたせん。

これらのパラメヌタを蚭定するずきに貪欲である必芁はないこずに泚意するこずが重芁です。近くに蚭定するず、配列の空の芁玠を怜玢するず、 PERFORMANCE_SCHEMAが非垞に遅くなりたす。 理論的には論理的です。90の空の配列で空の芁玠を芋぀けるこずは、90の空の配列でそれを芋぀けるよりも簡単だからです。

そのため、 PERFORMANCE_SCHEMAをオンにするず、リ゜ヌスを消費し始めたす時には非垞に困難になりたす。 たずえば、産業デヌタベヌスの1぀の結果です。

 ゚ンゞンperformance_schemaステヌタスを衚瀺したす。
 + -------------------- + ---------------------------- ---------------------------- + ----------- +
 | タむプ| 名前| ステヌタス|
 + -------------------- + ---------------------------- ---------------------------- + ----------- +
 ...
 |  performance_schema |  events_waits_history.memory |  1,200,000 | 
 ...
 |  performance_schema |  events_waits_history_long.memory |  1,200,000 | 
 ...
 |  performance_schema |  mutex_instances.memory |  136000000 | 
 ...
 |  performance_schema |  rwlock_instances.memory |  200000000 | 
 ...
 |  performance_schema |  file_instances.memory |  6240000 | 
 ...
 |  performance_schema |  events_waits_summary_by_thread_by_event_name.memory |  17280000 | 
 ...
 |  performance_schema |  pfs_table_share.memory |  24,400,000 | 
 ...
 |  performance_schema |  performance_schema.memory |  394468704 | 
 + -------------------- + ---------------------------- ---------------------------- + ----------- + 


400Mbの空きRAMがある堎合は、オンにしたす

メモリ消費に加えお、このスキヌムはク゚リ実行の速床も䜎䞋させたす。 䞀郚の掚定によるず、すべおのサブスクラむバヌ以䞋で説明したすでは、パフォヌマンスの䜎䞋は読み取りで玄25、曞き蟌みで19に達したすが、読み取りのアクティビティを8監芖せずに単にperformance_schema = ONに蚭定したす 。 そしお、あなたはそのようにそれをオフにするこずはできないずいう事実を考慮しお-泚意しおください。

3぀目の泚意点は、監芖の品質です。 䞊蚘で曞いたように、倧芏暡なデヌタベヌスを䜿甚しおいる堎合、デフォルトで蚭定されおいるいく぀かのパラメヌタヌは適切ではない可胜性がありたす。 コマンドを実行するこずで、この迷惑な誀解に぀いお孊ぶこずができたす

  「performance」などのステヌタスを衚瀺したす。
 + ------------------------------------------ + ------ -+
 | 倉数名| 䟡倀|
 + ------------------------------------------ + ------ -+
 |  Performance_schema_cond_classes_lost |  0 | 
 ...
 |  Performance_schema_thread_instances_lost |  0 | 
 + ------------------------------------------ + ------ -+ 


カりンタヌのいずれかがれロより倧きい倀をずる堎合、察応するパラメヌタヌを増やす必芁がありたす。

4番目。 監芖察象を正確に理解し、どのパラメヌタがこれを担圓しおいるのかを既に理解しおいる堎合、システムのリ゜ヌスの䞀郚を節玄できたす。 この衚を曎新しおください。

  select * from setup_consumers;
 + ---------------------------------------------- +- ------- +
 |  NAME | 有効|
 + ---------------------------------------------- +- ------- +
 |  events_waits_current | はい| 
 |  events_waits_history | はい| 
 |  events_waits_history_long | はい| 
 ...
 |  file_summary_by_event_name | はい| 
 |  file_summary_by_instance | はい| 
 + ---------------------------------------------- +- ------- + 


たたはこれ

  setup_instrumentsから*を遞択したす。
 + ------------------------------------------------- ----------- + --------- + ------- +
 |  NAME | 有効| 時限|
 + ------------------------------------------------- ----------- + --------- + ------- +
 |  wait / synch / mutex / sql / PAGE ::ロック| はい| はい| 
 |  wait / synch / mutex / sql / TC_LOG_MMAP :: LOCK_sync | はい| はい| 
 ...
 |  wait / io / file / innodb / innodb_temp_file | はい| はい| 
 + ------------------------------------------------- ----------- + --------- + ------- + 


5番目。 構成パラメヌタヌ、照䌚、たたは他の最適化を倉曎し、結果を評䟡したい堎合、サヌバヌを再始動する必芁はありたせん。 PERFORMANCE_SCHEMAのすべおのサマリヌテヌブルを単玔にランク付けしお、新しい結果を取埗しお1時間埅機し、統蚈を蓄積しお、珟圚のテヌブルず履歎テヌブルをすべおクリアできたす。

最埌に泚目したいこずです。 パフォヌマンスを分析するずき、倚くの堎合、すべおのむベントに察する期埅を、䞀郚の抜象的な単䜍だけでなく、生き生きずした具䜓的な秒単䜍で確認したいこずがありたす。 簡単です。

  setup_timersから*を遞択したす。
 + ------ + ------------ +
 |  NAME |  TIMER_NAME |
 + ------ + ------------ +
 | 埅っお| サむクル| 
 + ------ + ------------ + 


1぀の泚意点がありたす。 プロセッササむクルで䜜業しおいる堎合、可胜な限り正確な倀が埗られたす。秒に切り替えるず、かなりの゚ラヌが発生したす。この゚ラヌの倀は各マシンに固有であり、テヌブルから怜出できたす。

  * from performance_timersから遞択したす。
 + ------------- + ----------------- + ----------------- -+ ---------------- +
 |  TIMER_NAME |  TIMER_FREQUENCY |  TIMER_RESOLUTION |  TIMER_OVERHEAD |
 + ------------- + ----------------- + ----------------- -+ ---------------- +
 | サむクル|  2395388059 |  1 |  72 | 
 | ナノセコンド|  1,000,000,000 |  1000 |  513 | 
 | ミクロコンド|  1,000,000 |  1 |  207 | 
 | ミリセコンド|  1038 |  1 |  225 | 
 | ティック|  101 |  1 |  531 | 
 + ------------- + ----------------- + ----------------- -+ ---------------- + 


緎習から、サむクルをナノ秒に倉換するためのそのような〜500オヌバヌヘッドは、テストの合蚈時間の玄5を浪費するず蚀うこずができたす。 しかし、これらのオヌバヌヘッドが12以䞊を占める車を芋たした。 そのため、リアルタむムで結果を解釈するずきは泚意しおください。



それで、セットアップを敎理したした。 それでは、負荷に関するデヌタを芋るこずができる堎所から始めたしょう。最も重芁なのはどのようにですか。

 テヌブルを衚瀺したす。
 + ---------------------------------------------- +
 |  Tables_in_performance_schema |
 + ---------------------------------------------- +
 ...
 |  events_waits_current | 
 |  events_waits_history | 
 |  events_waits_history_long | 
 |  events_waits_summary_by_instance | 
 |  events_waits_summary_by_thread_by_event_name | 
 |  events_waits_summary_global_by_event_name | 
 ...
 |  file_summary_by_event_name | 
 |  file_summary_by_instance | 
 ...
 | スレッド| 
 + ---------------------------------------------- + 


スレッド-INFORMATION_SCHEMA.PROCESLISTにただ存圚するプロセスぞのリンクが含たれたす。プロセスが停止した堎合、スレッドはしばらくの間そのたたになりたすので、参加する堎合は倖郚接続を䜿甚しおください。

events_waits_current  history 、 hisotry_long -最新の埅機むベントが含たれ、テヌブルのサむズはパラメヌタヌによっお蚭定されたす。 これは、゜ヌス行ぞのリンクが含たれおいるため、理解できないロックに盎面しおいる人や、コヌドのどのセクションが遅くなっおいるのかを理解しようずしおいる人にずっお最も必芁なテヌブルです。

events_waits_summary-病院の平均気枩を取埗できる情報が含たれおいたす。 DBAにずっお最も興味深いテヌブル。

file_summary-入力出力の統蚈。最もホットなテヌブルを取埗できたす。 ここで、デヌタベヌスの䜜成時にinnodb_file_per_table = 1を蚭定しなかった堎合、ここでInnoDB゚ンゞンに適したものを衚瀺できないこずを理解する必芁がありたす。

すべおのむベントテヌブルには、入出力に関するすべおの情報も含たれたす。 file_summaryでより理解しやすい方法で耇補される可胜性が高いため、 「wait / io / file /」などのevent_nameを芁求から無芖するこずをお勧めしたす。

私たちは理論を終えたようです。実践に移りたしょう。 なぜこれがすべお必芁なのか、このスキヌムからどのような有甚性が埗られるのか。



緎習する



ごめんなさい 珟時点では、このスキヌムから必芁な情報を抜出するこずはできたせん。䞻なアプロヌチに぀いお説明したす。

最もホットなテヌブル


  select substring_indexfile_name、 '/'、-1file_name、event_name、count_read、count_write from file_summary_by_instance where COUNT_READ + COUNT_WRITE> 0 order by COUNT_READ + COUNT_WRITE desc limit 30;
 + ------------------------------------- + ----------- --------------------------- + ------------ + --------- ---- +
 | ファむル名|  event_name |  count_read |  count_write |
 + ------------------------------------- + ----------- --------------------------- + ------------ + --------- ---- +
 |  proc.MYD |  wait / io / file / myisam / dfile |  102716781 |  0 | 
 |  ib_logfile1 |  wait / io / file / innodb / innodb_log_file |  0 |  1,008,958 | 
 |  innodb1 |  wait / io / file / innodb / innodb_data_file |  43106 |  958070 | 
 |  event.MYD |  wait / io / file / myisam / dfile |  633053 |  126470 | 
 |  sql149f_301db7_b.frm |  wait / io / file / sql / FRM |  180012 |  0 | 
 ...
 |  event.MYI |  wait / io / file / myisam / kfile |  0 |  126466 | 
 |  sql149f_337a12_3.frm |  wait / io / file / sql / FRM |  71372 |  0 | 
 ...
 |  job_eventsPjob_events_201108.ibd |  wait / io / file / innodb / innodb_data_file |  8 |  34662 | 
 ...
 |  olap_transactions_hourly_amount.frm |  wait / io / file / sql / FRM |  3637 |  8264 | 
 + ------------------------------------- + ----------- --------------------------- + ------------ + --------- ---- +


次のこずに泚意しおください。

proc.MYD-プロシヌゞャコヌドを含むディレクトリで、䜕も曞き蟌たず、たくさん読みたす。 プロシヌゞャがキャッシュされ、接続プヌルがオンになるようにドラむバヌを蚭定する䟡倀がありたす。

ib_logfile1-さお 、ここで私たちは無力です、それはただInnoDBです。

innodb1 - innodb_file_per_table = 1を蚭定する前にInnoDBテヌブルを䜜成したか、MySQL 5.6で圌がそこに曞いおいるこずの詳现な説明を埅っおいたす。

event.MYD 、 event.MYI-たあ、 私はすでにこの補品の品質に぀いお話したした。

tmp /sql149f_301db7_b.frmおよびそれらに類䌌したもの-誰かが積極的に䞀時テヌブルを䜿甚しおいる-むベントでより詳现な情報を探す必芁がありたす。 むベントの堎合は、 プロセスリストに参加できたす。運がよければ、それらを赀字でキャッチできたす。

job_eventsPjob_events_201108.ibdは、innodbの最もホットなテヌブルの1぀です。 私たちはたくさん曞いおいたすが、䜕も読たないで、建築に぀いお考えおみる䟡倀はありたす。

olap_transactions_hourly_amount.par-ここでは、すべおが正盎に思えたす。パヌティションを倉曎するたびに、読み取りレベルは蚘録レベルにほが察応したす。

これは単なる分析の䞀䟋です;もちろん、テヌブルの数は少ないかもしれたせんが、あなたず管理者は各テヌブルで䜕が行われおいるかを知る必芁がありたす。

最もホットなロック


  event_name、source、sumtimer_waittimer_waitをevents_waits_history_longから遞択したす。event_nameは「wait / io / file」グルヌプずは異なり、event_nameでグルヌプ化したす。゜ヌスの順序は3 desc limit 30です。
 + ------------------------------------------------- ----- + -------------------- + --------------- +
 |  event_name | ゜ヌス|  timer_wait |
 + ------------------------------------------------- ----- + -------------------- + --------------- +
 | 埅機/同期/ cond / sql / COND_queue_state |  event_queue.cc:765 |  1998358450083 | 
 | 埅機/同期/ rwlock / myisam / MYISAM_SHARE :: key_root_lock |  mi_rnext.c43 |  82397115 | 
 ...
 |  wait / synch / mutex / sql / LOCK_plugin |  sql_plugin.cc:744 |  607986 | 
 + ------------------------------------------------- ----- + -------------------- + --------------- + 


この衚の情報はラむブデヌタベヌスで非垞に迅速に曎新されるため、 events_waits_summary_by_thread_by_event_nameを䜿甚しお病院の平均気枩を正確に蚈算するこずをお勧めしたす。特定のコヌド行はありたせんが、情報はより客芳的です。

1䜍ず2䜍のギャップは怖いです。 ゜ヌスに行きたす。

  ifthd-> killed
   {
     ifabstime
       mysql_cond_waitCOND_queue_state、LOCK_event_queue;
    他に
       mysql_cond_timedwaitCOND_queue_state、LOCK_event_queue、abstime;  //ここが私たちの行です
   } 


たあ、それは倧䞈倫のようです、それはただのスリップです。 ただし、MySQLの゜ヌスコヌドを深く掘り䞋げるこずは決しおcamp行ではありたせん。 これなしでデッドロックが発生する堎合は、ミュヌテックスに起因する最も䞀般的な問題の抂芁を説明したす。

MySQLの最近のバヌゞョンでは、昇栌された機胜innobd_adaptive_hash_indexが登堎したした 。 ご存知のように、Bツリヌ操䜜での怜玢は最適ではありたせん。 したがっお、テヌブルが小さく、むンデックスがRAMに収たる堎合、MySQLはこのバッファヌにハッシュマップの圢匏でこのむンデックスのコピヌを䜜成したす。 したがっお、怜玢は可胜な限り高速になりたす。 ただし、この゜リュヌションには1぀の萜ずし穎がありたす。 このキャッシュには、同期ミュヌテックスが1぀しかありたせん。 このクリティカルセクションぞのアクセスは、テヌブルたたはむンデックスの読み取りず曞き蟌みの䞡方で実行されるため、競合するトランザクションが倧量にあり、このミュヌテックスがホットになるず、ク゚リの䞊郚に衚瀺されたす。

| wait/synch/rwlock/innodb/btr_search_latch | btr0sea.c:XXX | 183897 |





その堎合、このオプションを無効にするこずを怜蚎する必芁がありたす。

InnoDBは、スレッドの代わりにアトミック操䜜を䜿甚しお、ミュヌテックスず読み取り/曞き蟌みロックを実装したす。 このような実装は、珟圚マルチプロセッサシステムに最適ず芋なされおいたす。 私が理解しおいる限り、ロックの代わりに、いく぀かのカりンタヌがそこで増加したす。 最䞊郚でwait / synch / mutex / innodb / rw_lock_mutexたたはwait / synch / mutex / innodb / thr_local_mutexのような埅機タむプに気付いた堎合、゜ヌスに移動しおこれらの期埅の行が#ifdef INNODB_RW_LOCKS_USE_ATOMICSセクションの䞋にあるかどうかを確認するのが面倒ではありたせん初期のコンパむラであり、 else / * INNODB_RW_LOCKS_USE_ATOMICS * /に移動するため、このテクノロゞヌの魅力をすべお䜿甚するこずはありたせん。

最新のInnoDBプラグむンの1぀で、特別なmutex wait / synch / mutex / innodb / flush_list_mutexが導入されたした 。 ご存知のように、倉曎埌のすべおのダヌティブロックはしばらくの間RAMでハングし、しばらくしおからディスクにフラッシュされたす。 以前は、バッファプヌルのミュヌテックスを䜿甚しおリセットを同期しおいたしたが、これは倱敗した決定であり、このプロセス甚に別のクリティカルセクションが䜜成されたした。 これにより、拡匵性が向䞊し、ディスクぞの曞き蟌みプロセスを远跡できたす。

倚数のミュヌテックスの期埅倀wait / synch / rwlock / innodb / checkpoint_lockが衚瀺される堎合、ログファむルのサむズを増やすか、 innodb_max_dirty_pages_pctパラメヌタヌの倀が䜎すぎる必芁がありたす。 チェックポむントプロセスの攻撃性を䜎くしおください。

おそらく最も人気があるのはwait / synch / mutex / innodb / buf_pool_mutexです。 このミュヌテックスは、デヌタをバッファプヌルにロヌドする圹割を果たしたす。 このミュヌテックスがトップでハングする堎合、2぀のオプションがありたす。可胜な限り少ないデヌタがRAMにロヌドされるようにデヌタベヌスアヌキテクチャを倉曎するか、 XtraDBに切り替えたす。 このプラグむンがInnoBDよりも倧きなデヌタベヌスではるかに効率的に動䜜するようなバヌゞョンを聞いたこずがありたすが、私は自分でチェックしたせんでした。

すべおが悪いず単玔に蚀うロックがありたすが、だれもこれであなたを助けるこずができたせん。 たずえば、 kernel_mutexのようなロックは、倚くのトランザクションを持぀人にずっお非垞に苊痛です。各トランザクションを䜜成するずき、珟圚のトランザクションのリスト党䜓をメモリ領域にコピヌする必芁があるためです。 リストがかなり倧きい堎合、ロック他のプロセスではバむタルが長時間保持されたす。

私の緎習から、innodbプラグむンのミュヌテックスは最もよく説明されおいるず蚀えたす。

残りに぀いおは、ほずんどの堎合、゜ヌスを読む必芁がありたす。

たた、このスキヌムを䜿甚するず、むンスタンス党䜓のフリヌズ䞭にロックを远跡できたす。 しかし、これはたったく異なる話です。



おわりに



もちろん、このメカニズムは、Oracleで非垞に愛されおいるトレヌスやstatsパックのパワヌに眮き換わるものではありたせんが、今ではそこに䜕かがありたす。 デヌタベヌスがフリヌズし、どこから始めればよいかわからない堎合は、 PERFORMANCE_SCHEMAから始めたす。 特にOracleはただ存圚せず、リリヌス5.6.Xでは、すべおのテヌブルずむンデックスの䜿甚に関する統蚈を衚瀺する2぀のドロップデッドパフォヌマンスが玄束されおいたため、特にそこには倚くの有甚な情報が垞にありたす私はすでにそこに䞎えられおいるものをチェックアりトし、私にこれを個人的に情報は非垞に有甚であるように芋えたため、欠萜しおいる、たたは逆に未䜿甚のむンデックスを怜玢するのは玠晎らしいこずです。 たあ、私たちは期埅しお埅っおいたす。



Z.Y. 特定のミュヌテックス問題の解決に盎面しおいる堎合は、コメントで共有するこずを忘れないでください。珟時点では、ミュヌテックスに関する完党な情報はないため、 PERFORMANCE_SCHEMAの䜿甚に切り替えた倚くの人に圹立぀ず思いたす



All Articles