linux – 用于高连接,高写入的MySQL设置

前端之家收集整理的这篇文章主要介绍了linux – 用于高连接,高写入的MySQL设置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的盒子正在掏出来.我正在尝试设置运行的 MySQL框:

> 3000个连接(1000个盒子的3个工人)(盒子最多700个连接,已经)
>重写

当前设置:

> AWS High-CPU Extra Large Instance (c1.xlarge)
> Ubuntu 10.04
> MysqL 5.5.19
> InnoDB表

配置是:my-innodb-heavy-4G.cnf.具体修改如下:

> max_connections = 65000
> innodb_buffer_pool_size = 5G

否则一切都是默认的.你们对不同的MysqL设置有什么建议?

考虑因素是:

> MysqL群集
>主/从复制(我不知道这里会有很多收获.)

我们已经在使用AWS提供的功能最强大的盒子,所以现实看来它看起来像分布式系统可能就是我们应该采用的方式.专用硬件可能是一种可能性,但这是一个很长的镜头.

你有什么建议/想想我们应该如何进行?我缺少一个神奇的配置吗?

提前致谢,
贾斯汀

解决方法

MysqL Cluster很少应用于Web可访问的设置.该产品主要用于专用集群环境中的数据仓库.

如果您偏向写入,MysqL复制(主/从,双主等)将无济于事.要进行复制,必须在所有系统上“转发/执行”写入…这很容易降低全局性能.注意:如果你有表争用(锁定整个表),复制可能很有用,但如果你使用的是innodb,我会惊讶于这种情况经常发生.此外,在危机/恢复情景中节省的时间可以减轻拥有奴隶的性能成本 – 但这不是问题.

您可以研究分片的概念.与MysqL-Proxy和精心设计的LUA脚本结盟,您可以自动重写SQL查询以将写入分割到MysqL系统集群(注意AWS实例的故障率).

虽然你说这是一个很长的镜头,但应该仔细研究专用硬件选项.大多数IAAS(例如AWS / EC2)环境都准备好对读取IO进行非常大的偏见.在专用硬件上,您可以利用SSD缓存和/或存储分层.您还可以利用专用SAN,其中I / O OPS容量可根据您的特定要求进行定制.

猜你在找的Linux相关文章