mysqld拥有32k句柄是否正常?

我在Windows 7 64位上运行Wampserver 2.0i。

我没有遇到任何进程的任何问题,但我注意到, mysqld是维护超过32,000打开句柄。 这个过程是否正常?

我也运行MS SQL Server,它的进程( sqlservr )只有400多个句柄。

对于MyISAM,每个tabble都由.frm,.MYD和.MYI组成。 这是每个MyISAM表的三个文件句柄。

MyISAM中的临时文件可以经常打开和closures。

对于InnoDB(ACID Complaint Storage Engine),可以有很multithreading。

InnoDB缓冲池来pipe理。

如果innodb_file_per_tableclosures,则可以使用以下线程:
读取/更新ibdata1中的元数据
读取/更新ibdata1中的数据页面
读取/更新ibdata1中的索引页
读取/更新ibdata1中的MVCC(Multiversioning Concurrency Control)数据
读取/更新ib_logile0和ib_logile1中的ibdata1中的MVCC数据(重做日志信息)

如果你有innodb_file_per_table你有以下线程:
读取/更新ibdata1中的元数据
读取/更新.ibd文件中的数据页面
读取/更新.ibd文件中的索引页
读取/更新ibdata1中的MVCC(Multiversioning Concurrency Control)数据
读取/更新ib_logile0和ib_logile1中的ibdata1中的MVCC数据(重做日志信息)

只要没有破碎,你没事。

我会build议您在这一个下面的阅读:

MySQL 5.0authentication学习指南
ISBN 0-672-32812-7
第23章页码355-357第23.5节:MySQL如何使用内存
第29章页码408-412第29.2节:MyISAM引擎
第29章第414-432页第29.4节:InnoDB引擎