您使用了哪些方法和技术来成功解决网站的可扩展性和性能问题?我是一名 ASP.NET Web 开发人员,正在探索使用 WCF 和 SQL 集群进行 .NET 远程处理,并且很好奇存在哪些其他方法(例如“云”)。在哪种情况下,您会应用各种方法(例如,方法 a 适用于大约 x 个“活跃”用户)。
我的意思是一个 myspace 案例研究的例子:http://highscalability.com/myspace-architecture http://highscalability.com/myspace-architecture
这是一个非常广泛的问题,很难回答,但我会尝试提供一些一般性建议。
1 - 除非您做的一些事情严重错误,否则您可能不需要担心性能或规模,直到您达到大量流量(每月超过 100 万次页面浏览量)。
2 - 您最初最大的性能问题可能是来自其他国家/地区的页面加载时间。尝试一下Gomez实例站点测试 http://www.gomez.com/info_center/instant-test.php查看世界各地的页面加载时间,并使用 YSlow 作为优化指南。
3 - 当您确实开始遇到性能问题时,首先很可能是由于数据库工作造成的。使用 SQL Server Profiler 检查 SQL 流量,寻找长时间运行的查询来尝试优化,还可以使用dm_db_missing_index_details
查找您应该添加的索引。
4 - 如果您的 Web 服务器开始成为性能瓶颈,请使用分析器(例如 ANTS Profiler)寻找优化网页代码的方法。
5 - 如果您的 Web 服务器经过良好优化但仍然运行过热,请寻找更多缓存机会,但您可能只需要添加更多 Web 服务器。
6 - 如果您的数据库优化良好但仍然运行太热,那么请考虑添加分布式缓存系统。直到您每月的页面浏览量超过 1000 万次时,这可能才会发生。
7 - 如果即使使用分布式缓存,您的数据库也开始不堪重负,那么请考虑分片架构。直到您每月的页面浏览量超过 1 亿次时,这可能不会发生。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)