发表于: 2018-03-23 00:54:38

1 715


今天完成的事情:

    熟悉云服务器的命令行。给云主机挂载了数据盘。写了一个连接池并测试。表结构方面看了师兄的日志和其他人的日志,我再想想。

1.看了下ubuntu的命令。大概的ls,cd,mkdir什么的有的试了下有的没试。命令很多,功能强大。

2.按照腾讯的文档给云主机挂载数据盘。

照着文档做,就成功了,最后结果如下图:

30G的数据盘vdb1挂载到了mydata目录下。

不过文档没解释怎么做的。后来查了下百度还有其他人的一些帖子。大概理解了挂载是什么意思。

我的理解:Ubuntu系统中,把存储器都看成文件,如果要读写存储器,需要把存储器与一个目录连接起来,连接的过程叫做挂载。那个用来挂载的目录叫做挂载点。挂载点一般用一个空目录,如果不是空的,挂载后过去的内容也不可访问。断开存储器和目录连接的过程叫做卸载。我的困惑点是在没有存储器的时候,目录结构是放在哪里的?


那么挂载具体流程是

拿到一个新数据盘。然后用fdisk工具查看,格式化,分区。

然后用mkdir命令建立个新的目录,刚建好肯定是空的。

然后用mount命令挂载

然后设置自动挂载,方便今后云主机重启后直接就可以使用数据盘。


linux系统使用起来似乎有些新的概念,现在感觉还比较晕。


3.学习了连接池。概念很好理解,集中创建连接,用的时候借,用完了归还。自己写了一个连接池,连接云主机并插入数据,测试用连接池的方法和传统方法比较消耗的时间。

差距巨大。连接池的方法速度快太多了。消耗时间是百倍来计。通过打印信息发现:

建立连接非常花时间,建立一个连接需要3-5秒,想来关闭连接池也会消耗一些时间。

程序代码放到GitHub。测试结果如下:


连接池大小为10

开始建立连接0

连接0建立完毕

开始建立连接1

连接1建立完毕

开始建立连接2

连接2建立完毕

开始建立连接3

连接3建立完毕

开始建立连接4

连接4建立完毕

开始建立连接5

连接5建立完毕

开始建立连接6

连接6建立完毕

开始建立连接7

连接7建立完毕

开始建立连接8

连接8建立完毕

开始建立连接9

连接9建立完毕

连接池方式测试开始

连接池方式开100个线程插入100条数据耗时为276毫秒

传统方式测试开始

传统方式开100个线程插入100条数据耗时为73390毫秒


代码中getConnection方法和returnConnection方法都用了synchronized关键字修饰,也就是用this做锁。测试正常,记得当初写线程池这样就不行,要用别的对象做锁,不明白为什么。


4.看了师兄日志和同班的另一个同学的高品质日志。大概思考了下表结构。暂时还没自己的明确想法。也许就模仿师兄的表结构做吧。


明天计划的事情:设计表结构,学习linux基本操作。 
遇到的问题:不太明白linux如何组织文件系统。猜测挂载数据盘的信息是写在系统盘?那么系统盘如何挂载的?还没查到简单的讲解这一点的文档。  写连接池的同步方法用this做锁正常,而写线程池的时候不可以用this做锁,这个问题将来再研究吧。听人说锁有很多种实现,可能将来可以深入学一下。
收获:学会了一些linux系统操作,学会了写连接池。


返回列表 返回列表
评论

    分享到