2010-09-16 59 views
2

我正在构建一个用于学习目的的小型Web服务器。追加服务器性能

对于每个传入POST请求,我打算将内容追加到文件中。

  • 我正在使用ZeroMQ套接字与文件追加过程进行通信。我是否需要特别注意文件操作(fopen,fseek)?

  • 考虑到一个典型的Amazon EC2实例并且每个请求最多只有1kb,我的服务器每秒可以处理多少个文件附加操作?

谢谢!

+0

什么是典型的定义是什么?小或微或中等? – clsung 2012-07-30 14:36:23

回答

-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