我正在devise一个将会收到很多logging的系统。 是否有任何固定的限制,你可以在一个数据库每秒做多less插入? 我们通常使用MS SQL服务器,Oracle是更好的吗? 在No-SQL云解决scheme上可以获得更好的性能吗?
我正在尝试通过优化Mysql服务器来提高网站的性能。 除了一般的优化之外,我还是觉得有些写操作需要很长的时间。 该服务器是Mac OS X服务器10.5.8(我认为这是一个32位的操作系统)与2×2.8 GHz的四核心英特尔至强和8 GB RAM。 有2个InnoDB表很less使用,另外45个表是MyISAM。 整个数据库是1.2 GB,其中包括一个400 MB的日志表,只有写入和应用程序永远不会读取。 我会假设在RAM中拥有整个数据库会提高性能。 另外我会假设在系统故障的情况下容忍一些数据丢失可以提高写入性能,但我不知道如何configuration它来利用这一点。 可能丢失的数据并不重要,如果丢失,可以由用户重新创build。 该网站有大约1或2个同时访问者。 我已经运行了一些mysqltuner.pl的迭代。 以下是目前的结果: >> MySQLTuner 1.2.0 – Major Hayden <[email protected]> ——– General Statistics ————————————————– [–] Skipped version check for MySQLTuner script [OK] Currently running supported MySQL version 5.0.92-log [!!] Switch to 64-bit OS – MySQL cannot currently use all of […]
我一直在开发一个带有服务器基础设施的应用程序,而且我准备很快发布(ish)。 到目前为止,服务器后端已经在PostgreSQL 8.4.7上运行,并且正常运行。 不过,现在我正在考虑升级到9.0.X版本,以便在Beta版testing(和后续版本)上发布更新的版本,并且将来可以更容易地设置数据库复制。 我的问题: PostgreSQL 9.0.4是一个可行的数据库使用截至目前? 有没有已知的重大错误? 有什么明显的性能差异? 复制(asynchronous确定,首选同步)在9.0.X中比8.4.X更容易设置?
我们的mongodb进程始终如一地使用我们的CPU(这是在Linode上的一个Ubuntu 64位服务器上)的100%,并且我们正在大力改进性能。 我们发现的一个build议是,MongoDB和NUMA不能很好地协同工作: http : //docs.mongodb.org/manual/administration/production-notes/#production-numa 我注意到/proc/sys/vm/zone_reclaim_mode已经设置为0,并且numactl当前没有安装。 我的问题:我如何知道我们的服务器是否已经启用了NUMA,以及我们是否应该按照以上链接的build议来启动Mongo,并使用以下命令? numactl –interleave=all /usr/bin/local/mongod 这是/proc/cpuinfo的内容(前3个部分被压缩,因为除了“处理器”行之外,输出是相同的): processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2650L 0 @ 1.80GHz stepping : 7 microcode : 0x70a cpu MHz : 1800.077 cache size : 20480 KB physical id : 0 siblings […]
我试图提高服务器的性能,很显然MySQL是这个问题的主要贡献者。 但是,排除故障非常困难。 我正在使用慢查询日志来定位特定types的查询,但真正的问题在于Java进程,PHP进程和cron作业(通常也是PHP进程,但通过命令行运行Apache ) 通常当服务器变慢的时候,我会运行一些像“ps”或“top”这样的命令来试图find罪魁祸首,但是即使我知道MySQL是怪罪,我也不知道这三个“领域”中的哪一个上述可能实际上是造成放缓。 换句话说,我希望以某种方式将其分解,例如,当时对MySQL的要求中有80%是来自PHP的查询,而只有20%来自Java。 由于我有两个“领域”触发的自动化任务和周期性事件,所以很难通过反复试验来隔离它们的影响。 一切都驻留在一台服务器上,所以所有的MySQL查询都来自本地主机。 我是否也可能“标记”查询,向他们添加注释,或者添加某种元数据,以便稍后分析这些标记以获取相对负载? 我怀疑有一种方法可以像这样获得信息,但是如果任何人都可以帮助提供一种方式来进一步细分MySQL负载,以帮助识别这些查询的来源(进程ID也可以工作),这将非常有帮助。 谢谢!
我们试图扩展我们的Drupal安装,并决定使用一些专用的MySQL盒子。 不幸的是,当我们试图使用远程数据库的时候,我们运行速度非常慢 – 页面加载时间从200毫秒到5-10秒不等。 服务器之间的延迟很小 – 一毫秒的十分之二。 PING 10.37.66.175 (10.37.66.175) 56(84) bytes of data. 64 bytes from 10.37.66.175: icmp_seq=1 ttl=64 time=0.145 ms 64 bytes from 10.37.66.175: icmp_seq=2 ttl=64 time=0.157 ms 64 bytes from 10.37.66.175: icmp_seq=3 ttl=64 time=0.157 ms 64 bytes from 10.37.66.175: icmp_seq=4 ttl=64 time=0.144 ms 64 bytes from 10.37.66.175: icmp_seq=5 ttl=64 time=0.121 ms 64 […]
我正在检查升级服务器的报价。 (RHEL)。 服务器上将有Apache和MySQL,但升级的原因是为了提高数据库性能。 CPU已经大规模升级,但我知道磁盘速度也是一个因素。 所以RAID 10的性能比RAID 5更快,但是驱动速度有多大的差距呢? (RAID 5configuration中的15k光盘在我的预算btw的顶部,因此不考虑RAID 10中的4x15k光盘,我认为这是最佳的)。
我试图通过复制命令copy mytable from 'path/to/myfile.csv' with CSV;大约100Mlogging(大约8GB的磁盘)的CSV加载到Postgres中: copy mytable from 'path/to/myfile.csv' with CSV; 我一直在监视进度,通过检查pgAdmin中报告的表大小并将其与CSV大小进行比较。 我知道这将是一个宽松的比较充其量,我很想听听有没有更好的方法来监控进度。 问题在于:这个负载已经持续了相当长的时间(我认为时间太长了),而且当我不断检查桌子大小时,负载似乎正在减速。 也就是说,加载一个新的100MB的数据比加载的时间要早得多。 为什么? 除了将我的CSV分成许多小文件之外,是否有任何调整,configuration或替代方法可以用于更快的加载? 更新:架构/数据细节 一个有代表性的数据行 1234567890,FOOBARF,2010-01-15 03:07:05,0.924700,0.925000 完整的模式定义: CREATE TABLE mytable ( id integer NOT NULL, rname character varying(7) NOT NULL, ts timestamp without time zone NOT NULL, stat1 numeric NOT NULL, stat2 numeric NOT NULL, CONSTRAINT pk_id PRIMARY KEY […]
我在Centos 5上有一个4GB的内存和PostgreSQL 9.0.3的服务器。我使用pgbench和pgbench-tools来使用两个pgbench-tools查询来testing性能: select和tpc-b 。 使用postgresql.conf默认设置并使用select查询,我得到以下结果: 比例:1,10,100,1000。 每秒事务数:10000,8800,7500,100。 (该表的logging数是比例* 100000) 我增加了选项shared_buffer到256MB(以前是32 MB),我得到以下结果: 比例:1,10,100,1000。 每秒事务数:10000,8000,3200,30 与第一次testing相比,为什么在第二个基准testing中testing结果为100或更高时性能如此之低 ? 我唯一做的就是增加内存。
有人向我断言,一个数据库比另一个(50-100%)performance更好的原因是因为一个是企业版,另一个是标准版。 给定相同的硬件,操作系统,版本和数据 – 只能使用标准版中提供的function。 将数据库移动到Oracle Enterprise时是否会增加性能? 企业是精简还是标准跛脚? 有没有Oracle文档来说明这个问题的真相?