`
kaowww153
  • 浏览: 74525 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

大访问量网站的mysql参数如何设置?

阅读更多

当一个网站量越来越大后,MySQL自然成为瓶颈。因此MySQL 的优化成为我们需要考虑的问题,第一步自然想到的是 MySQL 系统参数的优化,作为一个量很大的网站(日20万人次以上)的系统,不可能指望 MySQL 默认的系统参数能够让 MySQL运行得非常顺畅。

、back_log:

要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间检查连接并且启动一个新线程。

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的在这个队列大小上有它自己的限制。 试图设定back_log高于你的的限制将是无效。

当你观察你的主机进程列表,发现大量 264084unauthenticated userxxx.xxx.xxx.xxxNULLConnectNULLloginNULL 的待连接进程时,就要加大 back_log的值了。默认数值是50,我把它改为500。

、interactive_timeout:

在关闭它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对mysql_real_connect使用 CLIENT_INTERACTIVE 选项的客户。 默认数值是28800,我把它改为7200。

、key_buffer_size:

索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引,到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600,我的MySQL主机有2GB内存,所以我把它改为402649088。

、max_connections:

允许的同时客户的数量。增加该值增加mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Too many connections 错误。 默认数值是100,我把它改为1024 。

、record_buffer:

每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072,我把它改为16773120

、sort_buffer:

每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。默认数值是2097144,我把它改为16777208 。

、table_cache:

为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。MySQL对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512。

、thread_cache_size:

可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80。

、wait_timeout:

在关闭它之前在一个连接上等待行动的秒数。 默认数值是28800,我把它改为7200。 注:参数的调整可以通过修改/etc/my.cnf 文件并重启 MySQL 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。

 转载至 http://it.china-b.com/sjk/mysql/20090819/142528_1.html

分享到:
评论

相关推荐

    2G内存的MYSQL数据库服务器优化

    1. **my.ini文件**:MySQL的主要配置文件,用于设置MySQL的各种运行时参数。 2. **table_cache=2048**:定义了可以打开的最大表数,默认值通常较小。在高并发环境中,增加此值有助于减少因表锁定而导致的等待时间。...

    C#在MySQL大量数据下的高效读取、写入详解

    在C#中与MySQL数据库进行大规模数据交互时,性能优化是关键,特别是在处理千万级别的数据。本文将探讨如何高效地读取和写入大量数据,主要分为三个步骤:解决读取问题、数据处理和数据插入。 ### 第一步:解决读取...

    loadrunner参数化连接mysql

    本文将详细讲解如何使用LoadRunner进行参数化连接MySQL数据库,以及如何在LoadRunner脚本中进行参数化操作。 首先,为了使LoadRunner能够与MySQL数据库交互,我们需要配置ODBC数据源。这涉及以下步骤: 1. **安装...

    JAVA 统计网站的访问量PV,UV

    在IT行业中,统计网站的访问量是...总之,通过Java、Spring和MySQL的结合,我们可以构建一个有效的访问量统计系统,为网站运营提供关键的数据支持。同时,还需要注意隐私保护和数据安全,遵守相关的法规和最佳实践。

    mysql5.7 修改max_allowed_packet方法

    1. **打开MySQL图形化管理工具**:首先启动MySQL的图形化管理工具,这通常是一个独立的应用程序或通过Web界面访问。 2. **选择Options File**:在工具中找到并选择“Options File”选项,这个选项允许用户编辑数据库...

    MySQL构架设计与容量规划_findf2t_MYSQL_

    7. **扩展性设计**:随着业务增长,可能需要水平或垂直扩展MySQL集群,如通过分片技术处理大数据量,或者升级硬件提升单节点性能。 了解这些知识点后,你可以根据具体业务需求,设计出适合的MySQL架构并进行有效的...

    MySQL 5.1中文手冊

    3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用...

    彻底解决C# asp.net连接MySQL乱码问题

    请注意,这个设置必须与 MySQL 服务器以及应用程序中的其他设置保持一致。 #### 五、应用程序代码优化 1. **连接建立**: ```csharp MySqlConnection conn = new MySqlConnection(connectionString); conn.Open...

    mysql服务性能优化my_cnf配置说明详解16G内存[参考].pdf

    Max Allowed Packet 是 MySQL 服务器的一个参数,它指定了在网络传输中一次消息传输量的最大值。默认情况下,Max Allowed Packet 是 1MB,最大值是 1GB,必须设置 1024 的倍数。 通过合理地配置这些参数,可以提高 ...

    MySQL驱动 mysql-connector-net-6.4.4

    MySQL驱动mysql-connector-net-6.4.4是MySQL数据库与.NET应用程序之间的桥梁,它允许开发者在C#、VB.NET或其他.NET支持的语言中轻松地访问和操作MySQL数据库。这款驱动程序是Oracle公司提供的官方.NET Framework组件...

    MySql 5.1 参考手册.chm

    3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用...

    在Android上安装mysql; 从android中访问mysql

    在Android平台上安装MySQL并从Android应用访问MySQL数据库是一项复杂但重要的任务,这使得移动应用能够存储和处理大量的数据。以下是对这个主题的详细说明: **一、安装MySQL服务器** 1. **选择合适的MySQL版本**:...

    Mysql参数优化

    - 对于表的数据量较大时,可以考虑设置`MAX_ROWS`和`AVG_ROW_LENGTH`参数来优化存储空间的使用。 3. **错误处理**: - 遇到如ORA-09817等错误时,应首先检查系统日志以定位问题原因。例如,在磁盘空间不足的情况...

    mysql数据源设置

    本篇文章将深入探讨MySQL数据源的设置及其相关知识点。 首先,我们需要理解数据源的概念。在Java中,数据源是一个接口或类,它封装了数据库连接的创建、管理和关闭等操作,为应用程序提供了一种更高效、更安全的...

    mysql-5.5.27-win64安装包

    5. **安全设置**:安装后的首次启动,MySQL会运行一个叫做“mysql_secure_installation”的脚本,用于增强新安装的安全性,比如删除匿名用户、禁用远程root登录、删除测试数据库等。 6. **客户端工具**:MySQL ...

    MySQL C API mysql c api访问数据库实例

    总结来说,这个“MySQL C API 访问数据库实例”是一个很好的学习资源,涵盖了数据库连接、查询、事务处理等核心功能,对于理解和掌握 MySQL C API 有极大的帮助。如果你有兴趣进一步提升题库系统的功能,可以尝试...

    MySQL 5.1参考手册

    3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. ...

    MySQL配置文件解析

    MySQL配置文件解析主要涉及到MySQL服务器的参数调整,...这些参数的优化需根据实际应用环境进行调整,包括网站的访问量、在线用户数、数据量、硬件资源等。优化是一个持续的过程,需要不断监控和测试以找到最佳配置。

    mysql 增删改查

    3、动软代码必须修改 “工具”-“选项”弹出窗 后,点击 ”代码生成设置“-”字段类型映射“-”参数符号“中删除 mysql @,添加mysql ? 4、如果不修改3的设置,在增删改时 参数设置会失败。 5、mysql保存或者修改时...

Global site tag (gtag.js) - Google Analytics