我的情况:
大量静态媒体(音频/视频/图像)由S3 / CDN提供服务,但在本地存储为备份(不提供服务).可缓存的所有内容都被缓存,大约8 GB的内存可扩展到32.
我们目前正在处理大约10万次点击而没有问题,并且很想知道其他人遇到了什么问题:负载平衡?记忆问题?磁盘i / o?
谢谢你的任何提示.我已经查看了相关问题,并且他们回答得很好,但只想获得更多反馈.
> 16-32GB的RAM;
> 2个四核Xeon;
> RAID5磁盘阵列.
除了资源最密集的应用程序之外,这种类型的计算机可以在一个平均优化的站点上为超过10,000个并发用户提供服务.
基本上有两种可扩展性方法:
>垂直:基本上购买最大的机器,所以你不需要多于一个;
>横向:以适合并行性的方式做事.仅在最密集的应用程序上需要.
看看StackOverflow:它基本上运行在Web服务器和数据库服务器上,每月点击次数超过600万次.
话虽这么说,可扩展性是关于发现和解决你的瓶颈.
>如果您的数据库速度变慢,请为其提供更多资源或使用某种形式的内存缓存来消除负载;
>如果磁盘I / O是您的问题,那么同样适用;
>如果内存不足导致页面错误太多而导致磁盘I / O问题,请添加更多内存;
>您的应用程序及其数据是否适合跨服务器分区?如果是这样,这是横向缩放的一种方式;
>如果带宽是一个问题而你正在提供大型文件,那么也许CDN就是答案;
>等等.
但最终,每月100次点击量并不是那么大.我怀疑这些日子在一个典型的网站上,你需要在遇到真正的问题之前超过1000万/月,假设你没有做坏事(例如,如果你没有索引你的数据库搜索当然你会有问题,但他们与点击/月无关.
我会说冗余比可扩展性更令人头痛.拥有冗余链接,监视系统故障的过程,拥有和维护DR(灾难恢复)站点,处理所需问题(如裂脑集群)等所涉及的问题要困难得多而且乏味.