仅附加服务器性能
我正在构建一个小型网络服务器用于学习目的。
对于每个传入的 POST 请求,我计划将内容附加到文件中。
-
我使用 ZeroMQ 套接字与文件追加进程进行通信。我需要特别注意文件操作(fopen、fseek)吗?
-
考虑到一个典型的 Amazon EC2 实例并且每个请求最多有 1kb,我的服务器每秒可以处理多少个文件追加操作?
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该遵循基本问题,如果多个进程运行并接收消息会发生什么。如果磁盘空间不足或写入失败会发生什么情况?
您在同步写入磁盘或进行缓冲之后,以及潜在的日志损坏是否可以接受?
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
Basic concerns should be followed, what happens if multiple processes are run and receive messages. What happens if you run out of disk space or a write fails?
Are you after synchronous writing to disk or is buffered, and potential of log corruption, acceptable?
fopen
and friends are buffered, consideropen
and friends for non-buffered writes.Performance is tied to whether you can batch writes, use buffering, or want synchronous writes to disk. I think Amazon provide some IOPS details, certainly other developers have published results:
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