这是我目前的testing设置: SQL0:192.168.22.64(主站+从站) SQL1:192.168.22.65(主站+从站) loadbalancer0:192.168.22.66 loadbalancer1:192.168.22.67 虚拟IP:192.168.22.80 负载均衡使用心跳连接到彼此,并且它们都运行MySQL-Proxy。 一切都像魅力一样。 其中一个SQL服务器死亡,一切都保持不变。 其中一个LB死亡,一切都保持不变。 但是,在检查正在使用哪个SQL服务器时,我注意到它总是相同的,除非该服务器不可用。 几个小时后,SQL1例如有600.000个查询,而SQL0有20.000。 有没有一种方法可以更好地平衡呢,SQL0近50%,SQL1约50%? 这是我开始代理的基本路线: /usr/bin/mysql-proxy –proxy-skip-profiling -b 0.sql.domain.com:3306 -b 1.sql.domain.com:3306 –keepalive -P :3306 作为certificate,这里从昨天下午开始每10分钟进行一次testing。
首先,我不得不说我不是服务器pipe理方面的专家。 我已经在几个平台上完成了10多年的networking编程,但是大部分时间都来到了IT专业人员或者一个好的networking托pipe公司的现成情况。 现在我终于在一个需要从零开始构buildLAMP-setup的地方(只用一个香草CentOS安装)来提供非常强大的Wordpress设置。 一切都比较顺利,因为我一直在使用基于Linux的服务器pipe理来阻止事情的发展,但是我每周都会遇到一些非常奇怪的系统冻结,因为我是唯一一个可以访问服务器的人,启动服务,这是非常恼人的。 以下是一些关键数据: 服务器 384MB的内存 CentOS 5.6 PHP 5.2.10 MySQL 5.0.77 Apache 2.2.3 用法 约 WordPress中有300篇文章 约 每周10K独特用户 约 每月10万次的浏览量 事情做完了: 所有静态的东西(jQuery的,样式,布局图像)是从外部networking服务器的服务器。 WordPress的尽可能caching(W3总caching) 我把问题的范围缩小到内存pipe理 – 或者是缺乏内存pipe理。 出于某种原因,在服务器上禁用了交换function,一旦内存消耗达到100%,服务器就会进入抖动状态,所有希望都将消失。 内存的数量(384MB)仍然足以承载这些统计的网站,所以有些事情是错误的。 我只是想尽一切办法。 我显然尝试调整my.cnf,php.ini和httpd.conf中的设置,但无济于事。 这是我目前的关键设置: my.cnf中 skip-innodb datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock skip-locking skip-ndbcluster skip-bdb skip-networking safe-show-database query_cache_limit=8M query_cache_size=48M query_cache_type=1 max_user_connections=200 max_connections=32 interactive_timeout=60 wait_timeout=60 connect_timeout=50 thread_cache_size=4 key_buffer= 96M join_buffer=1M max_connect_errors=20 […]
我正在面对一个在线服务的MySQL实例的真正问题。 我们用这些设置来使用hibernate和c3p0池: c3p0.max_size=200 c3p0.min_size=5 c3p0.timeout=60000 c3p0.max_statements=20 c3p0.idle_test_period=300 c3p0.acquire_increment=3 c3p0.unreturnedConnectionTimeout=70000 我注意到th服务(网站)被拒绝,因为它拒绝连接。 我loginMySQL控制台,并show processlist列表30显示列表30睡眠(命令)连接到有关的数据库。 这让我担心。 我们每次都希望有200个连接,并使MySQL的最大连接数为300.这是我的。 CNF key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 max_connections = 300 #table_cache = 64 #thread_concurrency = 10 完整my.cnf 我做了一个小的研究,我看到table_cache大小必须相应地更新。 该机是运行ubuntu 9.10服务器的4核ram的四核机器 cat / proc / cpuinfo **问题1:**如何强制c3p0释放空闲连接。 **问题2:**我需要修正哪些tache_cache和所有其他参数,以便服务器充分利用其潜力并且不拒绝连接 **问题3:**重新启动Tomcat后,MySQL连接数降至4.我需要尽快解决此问题,我需要您的经验。 但是我想在未来的一段时间里也能获得这样的经验。 你应该从MySQL的性能调整中推荐什么样的书来集群。
将MySQL数据库从服务器(A)迁移到服务器(B)时,应将哪些表转储到服务器(B),包括用户授权? 我不想手动重新input用户帐户和密码。 我希望使用像Navicat这样的第三方应用程序来做到这一点,而不使用mysqldump。 我的理解是下面的表格包含用户账号(授权)数据: mysql> db mysql>用户 不过,我读过, MySQL表不需要从服务器(A)迁移到服务器(B)以及information_scheme表。 但是,如果mysql表不需要迁移,除非该评论是不正确的,我如何迁移我的用户授权信息与主机,用户名,密码等
我的MySQL服务器非常繁忙。 它有750K打开表格。 我一直在阅读,我应该增加table_cache与opens_tables一致,但我不知道我是如何扩展它的? 如果我将table_cache设置为750k,会发生什么情况?
我需要升级我的MySQL机器,因为目前我在RAID0中运行2个SATA 7200rpm驱动器。 这当然是相当危险的一个驱动器失败之一。 因为我不需要太多的存储空间(所有的数据库一起大约20 – 25GB),我一直在考虑获得2 SSD(80或120GB),并把它们放在RAID1设置,所以一个SSD的失败,有备用礼物。 价格方面,我也可以使用4x SATA驱动器进行RAID10设置。 但是我认为RAID1中的2个SSD仍然会performance更好。 对于大量使用的MySQL机器,您认为最新一代的SSD是否足够可靠呢? 这将是一个可推荐的设置?
我的网站有几个PHP + MySQL应用程序。 我注意到我安装了Limesurvey之后,我的网站一直非常不稳定。 myisam表每3-4天坠毁。 我在这里复制mysql日志: 110812 04:10:47 mysqld started 110812 4:10:47 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.0.77' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution 110815 23:11:02 mysqld started 110815 23:11:02 [Warning] 'user' entry '[email protected]' ignored in –skip-name-resolve mode. 110815 23:11:02 [Warning] 'user' entry '@localhost.localdomain' ignored in –skip-name-resolve mode. 110815 23:11:02 [Note] /usr/libexec/mysqld: ready for […]
我经常需要创build数据库的备份并使用不同的模式名称导入它。 这些模式是相当大的(3-5GB)和mysqldump是一个痛苦。 xtrabackup似乎很有前途,但我找不到如何使用不同的数据库名称导入备份。 任何线索?
我只停止了mysql,发现它不会回来,/ /etc/init.d/mysql start mysql只/etc/init.d/mysql start输出. . . . . . failed . . . . . . failed . . . . . . failed 。 我把它缩小到InnoDB的一个问题。 数据库在innodb_force_recovery = 5时启动,没有任何更低。 当我为我的MyISAM表检查表时,他们检查得很好,但是当我尝试为设置了force_recovery的InnoDB表这样做时,连接就被中断了。 mysql.err和mysql.log是空的。 当我试图将innodb_force_recovery设置为零时,以下是syslog的相关日志: Nov 6 04:20:33 kevmo314 mysqld: 111106 4:20:33 InnoDB: Error: page 245802 log sequence number 61 3499737721 Nov 6 04:20:33 kevmo314 mysqld: InnoDB: […]
我们有一个对响应时间非常敏感的基于MySQL的应用程序。 MySQL存储过程需要在不到10毫秒内平均响应,最大可接受响应时间为50毫秒。 我们的平均响应时间是飞行的颜色(更像是3毫秒),但是在五个小时的负载testing中,我们会得到一些(50个)大于50毫秒的响应,最大响应时间有时高达265毫秒。 关于调整MySQL和Linux以获得最佳性能有很多信息,我相信我们已经应用了大多数最佳实践,但是我很less发现如何减lessexception值的发生率并减less最大响应时间。 如何诊断这些exception值响应时间的原因,以及我可以使用哪些Linux和MySQL调优来减less这些响应时间?