我也是一名php程序员。我总是想知道Facebook页面加载得如此之快,以至于有很多用户在任何情况下连接到它们。即使流量较小,我的网站也从未达到过这样的速度。他们为自己的网站做了什么呢?
即使我想建立一个网站甚至是Facebook速度的一半,我应该怎样照顾。我指的是php和mysql以及jquery网站。
答案 0 :(得分:7)
在Facebook上看一下这个reddit帖子:
帖子的大多数相关部分:
数据库调用具有缓存键。 Memcached短路数据库命中。 Facebook有一个>命中率达到99.9%。偶尔会出现导致命中率降至95%的问题。这可能不会发生太多,但是当它发生时,它使整个网站变得非常缓慢。
获取大量数据的愚蠢数据库调用通常比最低限度获取的智能数据库调用要好。为什么?因为大多数愚蠢的数据库调用是相同的 - 因此非常可缓存 - 因此使用服务器资源来过滤掉东西比使用数据库资源更经济。或者,换句话说,它减少了数据库调用的复杂性,减少了每个数据库调用的更多数据,并且更多的负载转移到了memcached。
答案 1 :(得分:3)
Facebook拥有高度优化的缓存和高度调整的MySQL群集设置。尝试在Facebook中搜索“Facebook上的MySQL”。他们的一些提示和技巧很有传奇色彩!
不知道您的网站是什么,如何编码,数据库结构等,就无法说明如何优化您的网站。
日复一日地处理大型数据库,即使对查询进行最微不足道的更改也会对性能产生巨大影响。不要只是在整个表中使用索引,使用像Sphinx这样不错的索引引擎,而不仅仅是内部MySQL索引。将所有数据库调用优化到他们生活中的nats头发中。
还为slow_queries等配置MySQL日志记录。
O'Reilly做了几本关于性能MySQL的好电子书。戴夫
答案 2 :(得分:2)
他们基本上: