我已经用java 8和mysql服务器部署了我的应用程序。 运行mysqld.exe时需要占用130 MB的内存,并停止增加。 但之后我的应用程序的性能很差。 任何人都可以帮助我找出背后的原因。 哪个因素增加了mysqld.exe的内存大小,以及为什么我的应用程序被数据库困住了。 提前致谢
关系数据库服务器将会(在任何情况下,我已经处理过)消耗系统中所有可用的RAM来caching和优化searchalgorithm。 您可以指定允许使用的上限……但大多数情况下,对于简单的数据库环境,这些默认值通常是相当不错的。
在今天的服务器…如果你抱怨大约130MB的RAM …你不应该使用MySQL …或任何关系数据库服务器。 我已经构build了数据库服务器,devise用来“正常”地运行超过100GB的RAM。 如果你正在使用一个相对较小的数据库……并且资源非常有限…尝试着看一下sqlite3或者是基于文件的东西,而不需要专门的进程来有效地跟踪与什么相关的内容。 极其有限的系统资源也意味着你的“performance”永远不会是“伟大的”。
默认情况下,MySQL对InnoDB缓冲区最多使用128 MB。
如果你有更多的内存,编辑my.cnf
并将innodb_buffer_pool_size
设置为更大的内存(例如: innodb_buffer_pool_size=512M
),然后重新启动MySQL。