我最近在Oracle Enterprise 6 Linux服务器上安装了monetdb“OCT 2014-SP1”版本。
服务器配置 -
8个CPU内核 64 GB RAM
我已经加载了一个包含70列且具有15百万行的数据集。
我已经启动了mserver5,如下所示 -
mserver5 --debug=10 --set gdk_nr_threads=8 --dbpath=/data/monetdb/testdb --set mapi_open=true --set mapi_port=54321 --set merovingian_uri=mapi:monetdb://localhost:54321/testdb --set mapi_usock=/data/monetdb/testdb/.mapi.sock --set monet_vault_key=/data/monetdb/testdb/.vaultkey --set sql_optimizer=default_pipe --set max_clients=64
现在我运行了一个查询 -
select product_type,COUNT(DISTINCT sales_document),sum(ord_qty) FROM bookings where ord_entry_date between '2014-04-01' and '2014-10-01' group by product_type;
此查询大约需要90秒。 所以我开始断层扫描并检查绘制的图形...它显示并行使用率仅为39.9%,并且仅使用1个最大时间的线程进入步骤 - group.subgroupdone几乎98%。
我的问题是,即使我已经使用gdk_nr_threads = 8启动了服务器,那么为什么它只是使用单线程。
更多信息 -
mserver5 --version
MonetDB 5服务器v11.19.7“Oct2014-SP1”(64位,64位oid) 版权所有(c)1993年7月至2008年7月CWI 版权所有(c)2008年8月 - 2014年MonetDB B.V.,保留所有权利 访问http://www.monetdb.org/了解更多信息
找到63.0GiB可用内存,8个可用cpu内核
库:
libpcre:7.8 2008-09-05(用7.8编译)
openssl:OpenSSL 1.0.1e 2013年2月11日(使用OpenSSL 1.0.1e-fips编译2013年2月11日)
libxml2:2.7.6(用2.7.6编译)
编译者:root @ localhost(x86_64-unknown-linux-gnu)
编译:gcc -O3 -fomit-frame-pointer -pipe -D_FORTIFY_SOURCE = 2
链接:/ usr / bin / ld -m elf_x86_64
任何指针??
答案 0 :(得分:0)
使用的并行性取决于计划本身中的阻塞运算符。