Global Memory 与 Thread Memory
MySQL 再配置记忆体时分成两各阶段,一是当 Server 启动时配置给整个系统使用,二是当 Client 连线进来的时候配置给单一连线使用。
前者被称为 Global 後者被称为 Thread , Memory 的总用量简单的说就是 Global + (Thread 数 * Thread Memory ) 这个公式所算出来的记忆体消耗应该要小於子系统的总记忆体,但是实务上测试时,系统记忆体不足就会回应 Too many connection 而暂停回应。
但是,源源不绝的 REQUEST 很容易让系统死当。通常 USED CONNECTION 会大量增加,是因为 TABLE LOCK ,导致新的 QUERY 被暂存,减低 TABLE LOCK 的时间与次数,才是解决问题之道。
但是 TABLE LOCK 一般是因为 SQL 查询写的不好,调整 SQL 语法费日旷时,救急的办法可以缩短 wait_timeout 的时间。但是这会增加 CPU LOADING ,要不断 TEST 以求取平衡。
- 关键字 : Thread, Memory, TABLE, Global, 称为, 因为, 连线进来, 这会增加, 调整, 说就, 语法费, 解决问题, 要不断, 而暂停回应, 源源不绝, 查询写, 暂存, 旷时, 时间与, 时间
0 0
2009-05-20T13:26:28+0000