开始使用sqlalhchemy,我编写了一个脚本来转储我已经使用的db的csv输出。在我的开发机器上(Windows 10上的VirtualBox Ubuntu VM),它在~2秒内执行。当我将其移动到预定目的地时,需要6.5+分钟的近100%CPU利用率才能完成。虽然我的开发机器速度更快,但我没有看到它可以解释观察到的执行时间的差异。关于在哪里看的任何想法?除了拥有更快的CPU之外,Ubuntu VM还基于SSD。
以下是代码:
virts = session.query(Virtual, Pool, Pool_node, Node, Partition, Ltm).filter\
(Virtual.virtual_pool == Pool.pool_id).filter\
(Pool_node.pool_id == Pool.pool_id).filter\
(Pool_node.node_id == Node.node_id).filter\
(Virtual.virtual_partition == Partition.partition_id).filter\
(Partition.partition_ltm == Ltm.ltm_id)
for v in virts:
print "%s,%s,%d,%s,%s,%s,%s,%s,%s,%s,%s,%d,%s" \
%(v.Ltm.ltm_fqdn, v.Virtual.virtual_destination_ip, \
v.Virtual.virtual_destination_port,\
v.Virtual.virtual_destination_dns,\
v.Virtual.virtual_name, v.Virtual.virtual_descrip,\
v.Virtual.virtual_ena_status, v.Virtual.virtual_avail_status,\
v.Pool.pool_name,v.Node.node_name,\
v.Node.node_ip, v.Pool_node.pool_node_port, v.Node.node_dns)