Questions tagged «database-tuning»

2
优化PostgreSQL以进行快速测试
我从典型的Rails应用程序从SQLite切换到PostgreSQL。 问题在于PG的运行规范变得缓慢。 在SQLite上花了〜34秒,在PG上花了〜76秒,比原来慢2倍以上。 因此,现在我想应用一些技术来使规范的性能与SQLite保持一致,而无需修改代码(理想情况下仅通过设置连接选项,这可能是不可能的)。 从我的脑海中显而易见的几件事是: RAM磁盘(在OSX上使用RSpec进行良好的设置很不错) 未记录的表(可以将其应用于整个数据库,这样我就不必更改所有脚本了吗?) 正如您可能已经了解的那样,我不在乎可靠性和其他方面(这里DB只是一堆东西而已)。 我需要充分利用PG,并使其尽可能快。 最佳答案将理想地描述这样做的技巧,设置以及这些技巧的缺点。 更新: fsync = off + full_page_writes = off仅将时间减少到〜65秒(〜-16秒)。良好的开端,但离34的目标还很远。 更新2:我尝试使用RAM磁盘,但性能提升在误差范围内。因此似乎不值得。 更新3:* 我发现了最大的瓶颈,现在我的规格与SQLite一样快。 问题是进行了截断的数据库清理。显然,SQLite的速度太快了。 为了“修复”它,我在每次测试之前都打开一个事务,并在最后将其回滚。 约700个测试的一些数字。 截断:SQLite-34s,PG-76s。 交易:SQLite-17s,PG-18s。 SQLite的速度提高了2倍。PG的速度提高了4倍。

7
如何使用Python的timeit计时代码段以测试性能?
我有一个Python脚本,该脚本可以正常工作,但是我需要编写执行时间。我已经用谷歌搜索了,timeit但是我似乎无法使它正常工作。 我的Python脚本如下所示: import sys import getopt import timeit import random import os import re import ibm_db import time from string import maketrans myfile = open("results_update.txt", "a") for r in range(100): rannumber = random.randint(0, 100) update = "update TABLE set val = %i where MyCount >= '2010' and MyCount < '2012' …

1
如何配置MongoDB Java驱动程序MongoOptions以用于生产?
我一直在网上搜索有关为MongoDB Java驱动程序配置MongoOptions的最佳实践,除了API之外,我还没有提出其他建议。在我遇到“ com.mongodb.DBPortPool $ SemaphoresOut:信号量不足以获取数据库连接”错误之后,此搜索开始了,并且通过增加连接数/乘数,我能够解决该问题。我正在寻找配置这些选项的链接或您的最佳实践。 2.4驱动程序的选项包括:http : //api.mongodb.org/java/2.4/com/mongodb/MongoOptions.html autoConnectRetry connectionsPerHost connectTimeout maxWaitTime socketTimeout threadsAllowedToBlockForConnectionMultiplier 较新的驱动程序具有更多选择,我也将有兴趣了解这些。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.