使用DruidDataSource同样jar包在本地执行SQL很快,在centos上很慢很慢。

新手上路,请多包涵

问题

多线程爬虫,数据源是DruidDataSource,SQL很长且确定没有错误,就不贴了。毕竟如果是SQL的问题,那么本地执行速度也会很慢。

程序打Jar包丢在阿里云服务器上运行发现爬虫速度很慢,查询日志发现保存到数据库这块耗时50s;同样代码在idea直接执行耗时为1s。

// 获取连接
while (true) {
    try {
        connection = ds.getConnection();
        if (connection != null)
            break;
    } catch (SQLException e) {
        Thread.sleep(150);
    }
}
// 保存到数据库
logger.debug(task.getObjectid()+"解析完成,开始保存到数据库:"+System.currentTimeMillis());
connection.createStatement().execute(infoDetailSql + "; " + attrSql + "; " + updateTaskSql);
logger.debug(task.getObjectid()+"保存到数据库完成:"+System.currentTimeMillis());

查看服务器监控,资源占用均未超过50%。

爬虫服务器、数据库服务器各服务器之间通信良好。

希望各位能不吝赐教,点出可能存在的问题。

阅读 3.6k
1 个回答
新手上路,请多包涵

SQL长度为1M,可能与服务器上行带宽仅为1M有关系。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题