作者: Fenng
|
可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.dbanotes.net/arch/scaling_an_early_stage_startup.html
与国内的 Web 2.0 Startup 技术人员相比,国外技术人员更乐于分享。分享也是一种更好的宣传手段,如果不是看到了这篇 Scaling an early stage startup
, 或许我就不会知道这位 Mark Maunder
(他还有个中文名字:马孟德) 以及他的 FeedJet
。
一般来说,一个刚刚发布的 Web 应用,因为用户量并不多,性能问题可能并不是很明显。可一旦宣传展开,用户增长或许不是线性的而是暴增(从几十个到几万个,相比之下怎不是暴增?),这时候如果遇到性能问题,毫无疑问会影响初期用户的信任。
Maunder 文档中列举了一个扩展过程,相信这些例子也是他实际遇到的。毕竟 Startup 都是一两个人打通关,不可能所有技术都面面俱到的精通。下面记录一点。
错误的设置
数据库服务器的参数配置问题:导致 MySQL 消耗了大量资源。Apache Keepalive 的设置为不合理,修改为
off。我想这个前提应该还是要选择自己最擅长的技术路线。如果错误的选择另一条不熟悉的技术路线,那么遇到技术时解决问题的速度怕是更让用户恼火。对于
Apache 还应该知道 Httpd.Worker 比 Prefork 消耗更多内存 (httperf 来进行 Benchmark)
,内存也是蛮贵的。
尽可能的缓存动态内容
尽可能的利用数据库的 Cache,利用其他 Cache 工具,如 MemCacheD
,来减轻对磁盘的 IO
压力。为了节省成本,很多站点都是用的低速大容量的磁盘,所以,充分利用 Cache 是一个网站成功的必然条件。这样的软件BerkeleyDB 的最高事务处理记录是 90000 事务/秒。
剥离图片与CSS 到单独的服务器
说白了,也是为了减轻磁盘的压力。现在很多 Web 2.0 站点都把图片放到 Amazon S3
上,省心了不少。当然,国内还没这样的服务。
阻止内容引用"窃贼"
现在连那些大站点都在阻止图片被第三方引用
,小站点更要提防被大站引用,很容易耗光网站的容量。另外一个要注意的是网络爬虫的频率。
在线观看这篇 Scaling an early stage startup
。顺便说一下,最近在 Scribd 上看到了不少有意思的文档。
分享到:
相关推荐
励志要趁早.doc
白领新年职业规划要趁早
《初中语文文摘人生受骗要趁早》这篇文章,以生动的故事和深刻的人生智慧,为我们在人生道路上提供了一份指引。 首先,文章提到面对陌生人求助的判断问题。善良和同情心是我们人类最宝贵的品质之一,但在实际生活中...
在这样的背景下,文章“初中语文经典美文离婚要趁早”应运而生,以其独特的视角探讨了女性在面对婚姻困境时的选择。 文章开篇即提出了一个尖锐的观点:当婚姻出现严重问题时,女性应该考虑及时结束这种不健康的婚姻...
初中语文文摘励志要出名趁早想
从提供的文件内容来看,该文档似乎是一份个人成长与发展规划手册,由王潇编写,也称为“潇洒姐趁早效率手册”。这份手册的核心理念是借助于持续的自我规划和执行,帮助个人明确目标,量化愿望,并按阶段实现。以下将...
标题中的“吃苦要趁早”是一句富有哲理的话,它强调了早期经历困难和挑战的重要性。在描述中,作者以一封信的形式,回应妹妹对于自身出身和大学生活中遭遇的困扰,试图通过鼓励妹妹理解吃苦的价值,来帮助她摆脱自卑...
- **保持网络畅通**:抢票时最好处于稳定高速的网络环境中,避免因网络问题错失良机。 - **团队作战**:与朋友家人一起抢票,可以提高抢到票的概率。 通过上述介绍可以看出,合理利用人生日历的各项功能,可以大大...
从给定的文件内容来看,这份标题为“申万宏源_***_申万宏源2016年12月主要指数调整预测及指数效应分析:买卖要趁早”的报告主要围绕了股票市场指数调整及其带来的影响进行分析预测,并对投资者提出了相应的投资建议...
3. **数据结构**:列表、元组、字典、集合等内置数据结构的使用和操作,以及如何利用它们解决实际问题。 4. **文件操作**:如何读写文件,处理文本文件、CSV文件等,以及文件的异常处理。 5. **函数式编程**:使用...
趁早(quickearly)早餐外卖微信小程序--方便面的毕业设计简述(趁早)趁早(quickearly)B2C早餐外卖微信小程序,理想经营范围为人口密集的小区。用户可以提前预约,选择预约时间,也可以立即下单,查看产品进度,也...
9. **版本更新**:v2.1.2的版本号表明应用在功能、性能和用户体验方面可能有所改进,可能修复了之前版本存在的问题,增加了新的特性和优化。 10. **兼容性**:作为安卓应用,它需要兼容不同品牌和型号的安卓设备,...
这使得Java编写的代码更加模块化、可维护和可扩展。 多线程支持: Java内置了对多线程的支持,允许程序同时执行多个任务。这对于开发需要高并发性能的应用程序(如服务器端应用、网络应用等)非常重要。 自动内存...
7. 测试与调试:在开发过程中,需要进行单元测试、集成测试和压力测试,确保程序的稳定性和性能。微信开发者工具内置了测试和调试功能,帮助开发者找出并修复问题。 8. 部署与发布:完成开发后,小程序需要提交到...
6. 测试与调试:通过模拟器和真机测试,确保程序的稳定性和性能。 7. 版本控制:使用Git等工具进行版本管理和团队协作。 8. 部署与发布:了解微信小程序的审核流程和上线规则,成功将项目部署到微信平台。 总的来...
趁早(quickearly)B2C早餐外卖微信小程序,理想经营范围为人口密集的小区。用户可以提前预定,选择预定时间,也可以立即下单 ,查看配送进度,也可以预定好了,到店给出二维码即可取早餐,节约在人多的时候排队的时间 ...