Tag: 数据库调优

如何configurationMongoDB Java驱动程序MongoOptions以供生产使用?

我一直在寻找networking寻找configurationMongoDB Java驱动程序MongoOptions的最佳实践,我还没有拿出比API更多的东西。 这个search开始后,我遇到了“com.mongodb.DBPortPool $ SemaphoresOut:出信号量来获取数据库连接”错误,并通过增加连接/乘数我能够解决这个问题。 我正在寻找链接或configuration这些生产选项的最佳做法。 2.4驱动程序的选项包括: http : //api.mongodb.org/java/2.4/com/mongodb/MongoOptions.html autoConnectRetry connectionsPerHost connectTimeout maxWaitTime 了socketTimeout threadsAllowedToBlockForConnectionMultiplier 较新的驱动程序有更多的select,我也有兴趣听到这些。

如何使用Pythons timeit来testing代码段的性能?

我有一个python脚本,它的工作原理就像它应该但我需要写的执行时间。 我GOOGLE了,我应该使用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' and number = '250'" […]

优化PostgreSQL进行快速testing

我从一个典型的Rails应用程序从SQLite切换到PostgreSQL。 问题在于PG的运行规格变慢了。 在SQLite上花费了大约34秒,在PG上花了大约76秒, 比慢了2倍多 。 所以现在我想应用一些技术来使规范的性能与SQLite保持一致 ,而不需要修改代码(理想情况下只需设置连接选项,这可能是不可能的)。 从我头顶上的一些明显的事情是: RAM磁盘(用OSX上的RSpec进行良好的设置很好看) 未logging的表格(可以应用于整个数据库,所以我没有改变所有的脚本?) 正如你可能已经理解,我不关心可靠性和其他(在这里数据库只是一次性的东西)。 我需要充分利用PG,并尽可能快地完成 。 最好的答案将理想地描述这样做的技巧 ,设置和这些技巧的弊端。 更新: fsync = off + full_page_writes = off只减less时间full_page_writes = off秒(〜-16秒)。 良好的开端,但远不及34的目标。 更新2:我试图使用RAM磁盘,但性能增益是在误差范围内。 所以似乎并不值得。 更新3:*我发现最大的瓶颈,现在我的规格运行速度与SQLite的速度一样快。 问题是做了截断的数据库清理。 显然SQLite太快了。 为了“修复”,我在每次testing之前打开一个交易 ,并在最后回滚。 一些数字〜700testing。 截断:SQLite – 34s,PG – 76s。 交易:SQLite – 17s,PG – 18s。 SQLite速度提高2倍。 PG的4倍速度增加。