51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4300|回复: 5
打印 上一主题 下一主题

[原创] mysql+solaris 上的性能诊断过程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-11 22:05:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
平台: solaris9 +mysql5+java

症状: 生产环境偶尔出现mysql查询停顿,死屏

追踪过程:出现有时mysql查询无返回的症状!使用winsock协议录制mysql交互过程。中间消除loadrunner  heartbeat限制。
经过执行设置的高峰场景,重现error 24.

解决方案:
查询MYSQL文档,ERROR '...' not found (errno: 23) 错误及Can't open file: ... (errno: 24)错误的解释。
没有为MySQL分配足够的文件描述符。mysqld正在试图同时保持打开太多的文件,导致错误。解决这个问题有两种方案:1、减少mysqld一次打开的文件数,2、增加mysqld可得到的文件描述符数量(推荐)。
1、为了减少mysqld同时打开的文件数,可以通过减少table_cache参数(缺省值是64)使表缓冲更小;减小max_connections值也将减少打开文件的数量(缺省值是100)。  
2、为了增加mysqld可用的文件描述符数量,可以通过使用调高open_files_limit参数值或调高mysqld_safe启动参数--open-files-limits来完成(注:本操作只能在操作系统限制范围内增加文件描述符的数量,如果需要增加每个进程可用的文件描述符数量的操作系统限制,需要更改操作系统参数)。   
  
操作系统的限制:   
只有根用户才能修改单个进程使用的文件描述符的数量内核值。硬限制最大值在 rlim_fd_max 中定义,在缺省情况下,设置为 1024。 软极限的默认值是256 。ulimit -H -n可以查看文件描述符硬限制,ulimit -S -n可以查看文件描述符软限制。   
更改内核参数:
在 Solaris 上,可以通过修改 /etc/system 文件使其包含以下条目来增加系统资源:
set rlim_fd_max=1024
set rlim_fd_cur=768   
要使新内核参数生效,需要重新引导系统。
由于目前mysql参数open_files_limit为256。若提高该值,则必须更改操作系统内核。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-3-19 20:55:33 | 只看该作者
中小应用可能经常由于SQL没有绑定变量、 数据库参数配置不当导致的性能问题
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-3-19 16:52:22 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-3-17 14:15:58 | 只看该作者
呵呵,偶们的DBA都关心这个帖子来了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-3-12 13:04:27 | 只看该作者
是自己在电信工作时亲身经历的。

为了解决这个偶发性问题,特意花了时间写了mysql 的网络通信程序,加大压力测试
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2016-12-30 10:59
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2008-3-12 09:05:05 | 只看该作者
    赞一个~~~~~~~~~~~~~~~~~~!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-7 17:01 , Processed in 0.071750 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表