V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
thekll
V2EX  ›  问与答

树莓派上使用 Apache Derby(JAVA DB)

  •  
  •   thekll · 2014-05-28 12:16:42 +08:00 · 3108 次点击
    这是一个创建于 3611 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在树莓派上跑了一个JAVA应用,需要定时存储一些数据,目前选用Apache Derby 10作为嵌入式数据库。
    刚开始一切正常,使用一段时间后,遇到很奇怪的问题:每次JAVA程序启动,与数据库建立连接时间需要很长时间(大概10分钟,在这期间,CPU一直90%以上;数据库中最大的一张表有约20万纪录,seg0目录总共约50M,最大的文件21M)。
    尝试将程序和数据库放在一台普通PC上运行,与数据库建立连接很快,没有PI上的问题。
    自己分析可能的原因:
    1、树莓派性能问题、Derby性能问题
    2、java程序优化问题(目前用的C3P0连接池)

    正在考虑换mysql试试,请大家帮助分析一下
    6 条回复    2014-05-29 04:10:40 +08:00
    ipconfiger
        1
    ipconfiger  
       2014-05-28 13:12:18 +08:00   ❤️ 1
    SD卡的IO本来就坑爹吧
    wgjtyu
        2
    wgjtyu  
       2014-05-28 17:07:08 +08:00   ❤️ 1
    用xmpp传到GAE上存起来?
    akira
        3
    akira  
       2014-05-28 17:57:07 +08:00   ❤️ 1
    与数据库连接的时候,是不是把数据一次过都加载了
    thekll
        4
    thekll  
    OP
       2014-05-28 18:51:00 +08:00
    @ipconfiger 90MB/s的sd卡IO性能应该不至于这么差
    thekll
        5
    thekll  
    OP
       2014-05-28 19:15:03 +08:00
    @akira 多谢!非常有用的提示,马上想到可以把执行的SQL打印出来看看
    thekll
        6
    thekll  
    OP
       2014-05-29 04:10:40 +08:00
    @akira 索引建的不合适,不过对于几十万条纪录的查询,PI的性能还是堪忧阿。
    在几年前的macbook pro上启动只需要不到10秒,目前PI上只能优化到了1分钟左右了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2533 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:08 · PVG 00:08 · LAX 09:08 · JFK 12:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.