ssh – 可以在Linux(ext3)上减慢日志写入速度吗?
我想知道tailf是否可以生成阻塞I / O,这会降低因日志记录而导致的服务器响应速度. 对于前者假设以下设置: Debian 5.1 linux服务器(foo)通过终端管理(foo托管在EC2上). Foo运行多个应用程序,每个应用程序都写入自己的日志文件.为了举例,Apache httpd到/var/log/apache/access.log& Tomcat 5.5到/var/log/tomcat5.5/myApp.log. 如果我打开到foo的ssh连接,(注意:Internet链接,高延迟,相对较慢的上传)并运行tail -F /var/log/apache/access.log,我无法达到内核阻止httpd的写入的情况因为在每个线程上执行了等待,所以这个日志文件因此减慢了httpd的性能? 为了给出一些数字,让我们假设foo每秒记录大约200kb的日志数据,需要通过网络将其推送到ssh客户端. 另一个理论方面:如果/ var / log文件系统设置在无限大小的ram上(请记住:从理论上说),以便消除硬盘寻道时间会发生什么? 第三个方面,如果我从一个非常慢的链接打开ssh连接会发生什么(让我们假设foo的流量形状只能推送5kb / s上传)? 很想听听你的想法. 谢谢阅读, 解决方法我不认为这里会对I / O造成阻碍.当你做“tail -f”时,发生了什么>你的shell进程,比方说bash,会产生一个新进程’tail’. 正如您所看到的,慢速互联网连接不会影响步骤#2,这无论如何都是I / O性能的关键. 另外,tail以“只读”模式打开文件,并且有根据的猜测,日志以“仅附加”模式打开,因此不必担心这里有太多锁定.如果这仍然是你的一个问题,那么你可能想尝试基于最新的linux inotify api的inotail,以避免轮询文件. 希望这可以帮助,亚历克斯 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |