Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在构建一个用于学习目的的小型 Web 服务器。
对于每个传入的 POST 请求,我计划将内容附加到文件中。
我正在使用 ZeroMQ 套接字与文件附加进程进行通信。我需要特别注意文件操作(fopen、fseek)吗?
考虑到一个典型的 Amazon EC2 实例并且每个请求最多有 1kb,我的服务器每秒可以处理多少个文件附加操作?
谢谢!
应该遵循基本问题,如果运行多个进程并接收消息会发生什么。如果磁盘空间不足或写入失败会怎样?
您是在同步写入磁盘之后还是被缓冲,并且日志损坏的可能性可以接受? fopen和朋友被缓冲,考虑open和朋友进行非缓冲写入。
fopen
open
性能取决于您是否可以批量写入、使用缓冲或想要同步写入磁盘。我认为亚马逊提供了一些 IOPS 细节,当然其他开发人员已经发布了结果:
http://www.thebitsource.com/featured-posts/rackspace-cloud-servers-versus-amazon-ec2-performance-analysis/
http://blog.dt.org/index.php/2010/06/amazon-ec2-io-performance-local-emphemeral-disks-vs-raid0-striped-ebs-volumes/
https://forums.aws.amazon.com/thread.jspa?messageID=132387