1

I was trying to find online some exercises to practice scaling techniques (memchached, SQL Optimization, sharding dbs), but I could only find descriptions of these techniques, not any project on which to try them.

This link with slides on scaling techniques, is an interesting one, as it sums up some tools to achieve scalability quite well.

Is there a projecteuler kind of site for these kind of activities? Or at least some excercises (such as a downloadable ASP.NET/PHP site with obvious slowdowns, concurrency issues, subtle bugs) for people to try and learn how to fight this issue?

4

3 回答 3

2

我发现网站High Scalability有一些很好的见解。

于 2008-12-26T13:43:17.283 回答
1

破解 Wordpress 可能会很有趣。他们的缓存插件解决了很多扩展问题,但是编写自己的插件或在源代码上修改以减少 SQL 查询或缓存静态页面会很酷。如果您有什么想法,请务必让社区的其他人知道!

于 2008-12-16T02:22:06.483 回答
1

George 的幻灯片绝对是一个很好的工作基础。请注意,他不是在谈论特定的技术或技术;相反,他正在讨论更通用的架构和设计决策,这将有助于您的应用程序整体扩展。

我个人认为这种高层次的思考会比单独的优化技术更有价值。也许您可以使用一个众所周知的 Web 应用程序并对其进行破解,直到它可以在多台机器上很好地扩展?大量廉价、低功耗 EC2 机器的集群在这里可能非常有用。让现有的或新的应用程序在多台机器上正常运行将是一个很棒的练习。

与直觉相反,与其尽可能多地在一台机器上运行,我会说让同一个应用程序在多台机器上运行更具教育意义。

一旦有了这些,就可以进行更具体的改进,例如单独的静态内容层memcached、数据库分片、批处理操作等。

就具体项目而言,克隆TwitterFlickrThe Pirate Bay怎么样。他们过去都面临过性能和扩展挑战。

于 2008-12-26T13:39:24.857 回答