[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: apt 性能非常低



apt底下是dpkg,这个是用sh去操作几乎所有的文件,包括/usr /etc db,基本什么都干。
所以,要全集中到一个文件系统上,除非/换成ext4,通常我也这么推荐。
但是并不是所有机器都能这样做的。
而除了cache目录,其他小文件内容是不能使用tmpfs的,因为以后还有用。

在 2011年12月19日 下午10:58,Qijiang Fan <fqj1994@gmail.com>写道:
@Shell
如果把apt会读写到的那些文件挂载到一个对小文件支持好些的文件系统上效果会不会比较好呢?
我没有实验过,貌似Archlinux下有人对pacman这样干过【http://lihdd.net/2010/05/archlinux-pacman-accelerate/】。

On Thu, Dec 15, 2011 at 9:54 AM, Shell Xu <shell909090@gmail.com> wrote:
> 我不知道lz说的同步磁盘是什么意思,不过有几点是比较清楚的。
> 1.apt会在下载到本地后再调用dpkg进行安装,这个下载缓存目录可以开到tmpfs上面,链一根符号连接过去也行。这样会减少下载时的吞吐。
> 2.安装时所产生的大规模吞吐,大部分是因为ext3系统不适应大量小文件读写造成的(这个在我的一台普通硬盘机器和一台SSD机器上差异很明显),换成ext4就有很大缓解。这个问题无法被cache目录挂到tmpfs上解决。
> 3.如果你觉得apt安装造成影响工作,可以用kill -s STOP挂起aptitude进程。这样buffer中的dirty
> data会逐渐写入到磁盘上,一些本来应当刷出的数据也可以跟着刷出,io随之降低。然后再fg一下,安装过程就会继续。在buffer很大的机器上(尤其是单硬盘大内存的情况下),这样的写出过程会长达数分钟。然而实话实说,一般生产机器的/usr分区的大小在4G左右,这是常规水平。一次安装最多更新300-500m的包,在正常磁盘上安装也就是3-5分钟的事情,根本没有数分钟的数据可以吞吐。只有在长期不更新的系统/新装系统/新装大型软件的时候,才会出现这种现象。
>
> 在 2011年12月15日 上午4:15,CHEN Xing <cxcxcxcx@gmail.com>写道:
>
>> 弱问这里同步异步指啥?为何会造成磁盘访问次数不同?有相关的文章能学习下么~
>>
>> 不过从使用的体验看,我怎么觉得pacman在普通磁盘上比apt慢呢。。。
>>
>> 在 2011-12-14 上午11:42,"自由建客" <prcfb@21cn.com>写道:
>>
>>> 不是说网络,而是磁盘。每次安装或卸载,磁盘都非常幸苦。能否控制其不要同步 操作磁盘? archlinux
>>> 的包管理器就是异步操作的,非常之快,磁头也舒服。
>>>
>>>
>>> --
>>> To UNSUBSCRIBE, email to debian-chinese-gb-REQUEST@lists.debian.org
>>> with a subject of "unsubscribe". Trouble? Contact
>>> listmaster@lists.debian.org
>>> Archive: [🔎] 4EE8FB25.3000204@21cn.com" target="_blank">http://lists.debian.org/[🔎] 4EE8FB25.3000204@21cn.com
>>>
>
>
>
> --
> 无能者无所求,饱食而遨游,泛若不系之舟
> blog: http://shell909090.com/blog/
> twitter: http://twitter.com/shell909090



--
无能者无所求,饱食而遨游,泛若不系之舟
blog: http://shell909090.com/blog/
twitter: http://twitter.com/shell909090

Reply to: