发表于: 2017-08-23 22:40:49

1 935


今天完成的:

后端接口快测完了
收获:

1.用linkedHashMap替换了原有的map,在牺牲一些map性能的情况下可以控制缓存占用内存的容量了,超出容量自动淘汰老旧数据。

2.向DB里插了30万条数据,然后测试取出数据。3个线程循环30次。跟昨天不一样,为了避免拖累性能,取出数据后只显示其长度,不在页面上打印出来。

未使用缓存

使用缓存

30w数据量下终于能看到差距巨大到这种程度,加了缓存真是飞一样的。

3.昨天说想用多线程读缓存文件,误解了。用多线程读写文件都是错误的。读写文件的瓶颈在磁盘IO,磁盘到100了,开100个线程也没用。上面30万条数据缓存文件有36M,缓存一千万条就要1G左右,太大了。

另外这里和CPU没有半毛钱的关系,读写文件是有I/O的速度决定的,同一个文件肯定是存在同一块磁盘,而磁盘I/O就一个,多线程访问了,反而会导致I/O的中断分配给多个线程,一个中断多个线程轮流分配,速度肯定比给一个线程处理到结束慢的多,这也是磁盘测速的时候,为什么大文件的速度比小文件快得多,GHOST的速度比直接复制粘贴的速度快得多的道理。而数据库则更需要考虑内部的事务同步,有主键的情况下,多线程操作内部自动加锁处理的,防止主键冲突,这里面也需要开销。多线程只有处理不同任务的时候才有效果,同一个任务分开做,只会降低效率。

问题:

1.公司新增/编辑和职位的新增/编辑有问题,同一个错误。正在排查,这几个接口是难点,前台页面全是get就好测了

计划:

测完全部接口

进度:

延期到月底

http://task.ptteng.com/zentao/project-task-277.html


返回列表 返回列表
评论

    分享到