Python Django生成测试数据的速度非常慢

Python Django生成测试数据的速度非常慢,python,django,postgresql,test-data,Python,Django,Postgresql,Test Data,Django 1.8,博士后8.4.20 我试图在DB中准备一些性能测试数据——生成100000个Django用户以及其他模型实例。这是我的密码: for n in range(100000): # Generate User with one related Profile user = User.objects.create(username=str(random.random())) UserProfile.objects.create(custom_id=str(

Django 1.8,博士后8.4.20

我试图在DB中准备一些性能测试数据——生成100000个Django用户以及其他模型实例。这是我的密码:

for n in range(100000):
    # Generate User with one related Profile
    user = User.objects.create(username=str(random.random()))
    UserProfile.objects.create(custom_id=str(random.random()), user=user)

    # For each User generate a Journey with 10 related Visits
    journey = Journey.objects.create(user_id=user.id)
    for i in range(10):
        journey.visit_set.add(Visit(custom_id=str(random.random())))

    # Also for each User generate a Progress with 100 related Challenges
    progress = Progress.objects.create(user_id=user.id)
    for j in range(100):
        progress.challenge_set.add(Challenge(custom_id=str(random.random())))
正如预期的那样,唯一的问题是速度非常慢。在具有1个核心和1 Gb RAM的VPS上,只需1小时就可以生成4000个具有相应相关条目的用户

消耗的CPU约为10%,内存为200mb,平均负载浮动在1.00左右


如何加快速度?

正如评论中所建议的那样,我并行使用并启动了10次脚本。这将速度提高到每秒大约100个用户条目,这在我的情况下很好。

在与Django相同的服务器上尝试使用.DB?您可以尝试在范围(10000)内为n执行操作,并在parallelok中运行脚本10次,谢谢。但为什么现在这么慢?一个django脚本填充数据库有什么限制吗?@AshwiniChaudhary的想法比我的好,尽管手册上说它不能处理多对多关系,你也可以使用它,这个想法是生成xml或json文件来加载数据。