Articles of mysql

如何pipe理超过200万条logging的MySQL表

我在CentOS中有一个在MySQL 5.0.45上运行的InnoDB表。 更糟糕的是,它们都在虚拟机中运行。 有多个表格有很容易超过200万条logging的概率。 我注意到,从900K到1M纪录大关开始DB性能开始下降。 我有足够的权力来为未来作出一切改变,以便在这种情况下尽可能地保持这一点。 我应该使用MyIsam? 只有less数指标,我最担心的是写好performance。 将数据写入表的程序以每个表大约250个请求为一组进行批处理,并以每个表为基础执行它们以帮助解决问题。 我已经包含了一个较大的表的create table语句,是的,这是一个非常宽的表 – 我明白了。 我试图尽可能缩小列数,同时仍然能够可靠地容纳进入的数据。 编辑: 如果程序在运行过程中碰到了风扇,程序确实会使用事务来回滚这些变化,但是它基本上只是将数据抽入数据库的风格。 一个8小时的运行可以很容易地把400K线放在这个EACH表中。 这个表格是25个相似大小的指标之一。 它们全部通过LINE和RUN_ID进行查询。 阅读performance – 我不是特别担心。 我正在尽可能快地写入。 CREATE TABLE IF NOT EXISTS `TMD_INDATA_INVOICE` ( `ID` int(11) NOT NULL auto_increment, `LINE` int(11) NOT NULL, `RUN_ID` int(11) NOT NULL, `INDATA_INVOICE_ALLOCATION_GROUP_NAME` varchar(128) default NULL, `INDATA_INVOICE_ALLOCATION_GROUP_OWNER` varchar(128) default NULL, `INDATA_INVOICE_ALLOCATION_NAME` varchar(128) default NULL, […]

切换主机 – MySQL变慢了10倍

我最近转换了networking托pipe。 新盒子比旧盒子要慢(这是VPS vs.专用)。 然而,性能testing报告说,很大一部分放缓是数据库驱动的。 我有一个参考操作。 在旧的主机上,平均运行时间为2.2秒,数据库访问时间为0.2秒。 在新的一个,平均18秒,数据库时间14秒。 服务器是相同的 – 在这两种情况下,它都是本地MySQL v。5.0.91社区。 通过Unix套接字连接。 什么可以解释这种差异? 我应该看什么服务器设置?

奇怪的MySQL僵尸任务

在我看来,似乎在我的服务器上运行的SQL总是有1个任务,而我的个人资料会“卡住”并且一直运行。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 890 mysql 20 0 326m 54m 7704 S 9999 1.4 13:05.03 mysqld 有没有一种方法,我可以安装一个机器人来find这样的东西,closures它,并重新启动MySQL,所以我不需要手动做? 更新 我应该指出,它并不总是保持在9999%的CPU。 有时它显示1.4或类似的东西

在生产服务器上由MySQL 5.5RC烧毁的任何人?

我一直在考虑升级到我们的Ubuntu生产服务器上的MySQL 5.5。 由于它已经是RC了,我们不会过分强调我们的服务器,所以我不希望有任何问题。 但是,知道是否已经有人尝试过了,并且不得不恢复到5.1–为什么呢?

MySQL上的VMware非常慢

我有Windows 7,VMware Worstation 7和Ubuntu Hardy 8.04客户端(我试过64位客户端和32)。 我已经在Apache下的主机上运行phpmyadmin。 我已经改变了config.inc.php来添加多个主机,这样我就可以访问在VMware Ubuntu Hardy客户端上运行的MySQL实例。 这是非常缓慢的。 从一个表切换到另一个表需要13秒。 我已经尝试了运行不同MySQL实例的Ubuntu的不同实例。 我已经分配了512 MB,并尝试了1 GB的内存。 顶部说这个系统什么都不做。 同样的问题。 我尝试从NAT更改为主机networking桥接networking。 他们都工作,但他们都一样慢。 我看到有人说他们在/etc/hostname和/etc/hosts有不匹配的名字,所以我检查了它们。 我使用主机名访问主机: taer12 我在主机名和/etc/hosts都有。 顶部 – 15:52:55最多30分钟,2个用户,平均负载:0.00,0.00,0.00 任务:55总计,1跑步,54睡觉,0停止,0僵尸 Cpu(s):0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st Mem:总共515432k,使用110748k,404684k空闲,4980k缓冲 交换:共915664k,使用0k,915664k免费,64720kcaching 有没有人有任何其他的想法?

是什么原因造成缓慢的SSH连接和本地服务器上的MySQL连接速度慢?

当我尝试通过SSH从局域网中的客户端PC(Windows 7 + putty:192.168.53.X)连接到我们的服务器(Ubuntu服务器192.168.53.1)时,存在巨大的延迟。 显示密码提示需要一分钟时间。 当我尝试连接到在同一台服务器上运行的mySQL数据库时,也有巨大的延迟。 这台服务器也运行SAMBA,但是运行非常stream畅。 在这里你可以find我们的networking图: 链接文本 任何帮助,将不胜感激。

InnoDB的IO问题,需要评估的评估

TL; DR – 与InnoDB有一些基于IO的问题。 在我签署表格以申请更多硬件之前,请先看看是否同意我的评估 为一个客户端工作,我inheritance了一个大的InnoDB MySQL数据库服务器。 根据Information_Schema,所有表(大约180个模式)的数据大小约为34.9GB,总大小约为38GB。 它位于运行心跳和DRBD(主动/被动)的Xen DomU(Debian)上,通过gigibit交叉同步data_dir分区并提供故障转移。 注:Web服务器,caching服务器和数据库服务器都是位于两台服务器上的Xen虚拟服务器,以实现冗余和故障转移。 总数据大小由存储在数据库中的大约25GB BLOB数据(图像,video,file upload等)组成,以允许多个前端Web服务器将这些文件caching在其本地文件系统上。 这些服务器上的caching大概平均每周刷新10次。 其余的数据(大约9GB)是经常更新的实际内容。 在前端有多个Web服务器,还有坐在它们前面的静态文件caching。 networking服务器仍然每天大约有50万次点击。 Web服务器只有在数据库在IO上等待时才被加载,并且在这种情况发生之前似乎能够处理大量的查询和连接。 该应用程序是一个名为eZ Publish的基于PHP的CMS。 我们在这个设置中托pipe了大约90个站点。 InnoTop每天显示约4000万个查询。 平均大约500 qps。 数据库服务器有2个CPU,一个很less使用,运行32Bit内核,并有2GB的内存。 InnoDB缓冲池已经分配了512MB。 我知道这并不多。 服务器没有更多的免费。 根据下面的输出和阅读在线博客和本书,我得出结论,服务器严重缺乏资源,如果我们有足够的内存来存储经常访问的9GB数据(如果不是所有的35GB的数据)和/或至less10GB光纤通道复制更快的磁盘。 这个评估看起来是否准确? 有什么设置可以在这里改变,可以带来任何性能上的好处吗? 〜$ vmstat 1 10 procs ———–memory———- —swap– —–io—- -system– —-cpu—- rb swpd free buff cache si so bi bo in cs us sy […]

减lessCentOS上的MySQL RAM使用量

我有一个与CentOS 5(32位)的VPS,它有256MB的内存,虽然没有多less对我来说就够了。 闲置2 ssh连接活动和httpd运行它使用大约40MB的内存,但一旦我启动MySQL它射击高达220MB! 有什么方法来优化RAM的使用? 我只是在做一些简单的开发工作。 干杯:)

为初学者服务器压力testing和configuration?

我们的城市即将举办一个非常公开的活动(在市政厅提供公共场所的数据收集),要求我们公司创build表格申请表,提交课程表和一些个人数据。 由于该活动正在接受宣传以及我们客户的以往经验,预计大约5-10万名用户将在第一周提交数据。 我已经有了使用Amazon EC2的小型应用程序的良好体验,因此我打算推出一个专门用于input/输出的实例,期望获得大量的数据input。 该应用程序要么在Windows服务器上运行IIS + MySQL或Tomcat + MySQL。 我真的很感激一些想法和build议,testing和configuration这个Web服务器的压力,并同意用户避免经历停机和失去联系。 我没有什么经验来处理这个数量的用户,所以我是这种工具的初学者。 进展: 我已经在Vimeo中find了Jmeter的一个很好的入门教程( http://vimeo.com/3453772 ) 我也在这个博客中find了对testing结果的有用解释 在我看来,这两个资源使除了官方文档之外更容易理解Jmeter。

扩展MySQL数据库

什么是用来扩展mysql数据库的方法或工具。 我们有每天增加大小的mysql数据库。 我们刚刚分配了一个固定的硬盘大小,所以我担心的是,当硬盘容量满时,我们需要重新定位或增加硬盘大小。 使用RAID似乎是一个好主意,但它的大小仍然是固定的。 我们需要一个可扩展的MySQL数据库系统。 现在我只能把Hadoop看成一个解决scheme。 对于我们来说,理想的解决scheme是,当硬盘达到极限时,我们只需在机器上增加另一个硬盘,然后MySQL将其识别为一个硬盘,然后我们就不能在服务器上添加硬盘了,一个新的服务器将会被安装添加到MySQL数据存储空间的总大小。