首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >社交网络性能- PHP

社交网络性能- PHP
EN

Stack Overflow用户
提问于 2011-03-30 05:28:31
回答 3查看 377关注 0票数 0

我做了一个社交网络,测试它在WAMP中显示了将近1500 SQL为一个人的一个会话约30分钟和50页的浏览量!

我不使用ZEND、APC或MEMCACHED --在0.25秒内加载最大的页面-- 512 MB内存,AMD 1.81GHz

Q->可以吗,还是我需要减少SQL ?的数量

. CHILD =‘CHILD 2’>父表和子表的PID主键.

子表ID结构主键PID .

我没有使用外键,但删除on父级也从子元素中删除,我用PHP/SQL做了此操作

Q->可以还是我应该选择外键以获得更好的性能?

在PHP中,我可以配置多少内存Q->我也可以使用MySQL ?,我正在使用WAMP,并且需要在瓶颈状态下监视社交网络的性能!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-30 05:40:52

没有人可以说,如果任意数量的SQL查询是可以的:

  • 这取决于这些查询的复杂性。
  • 这取决于数据库的结构(例如,索引发挥了很大的作用)
  • 这取决于您拥有的数据量。
  • 这取决于您计划拥有多少并发用户(一次有一个用户,您的应用程序可能比给定时刻的100个用户要快得多)
  • ..。

基本上:使用ab / 围攻 / 千分尺等工具进行一些基准测试;并查看服务器是否能够在未来几周内处理预期的负载。

使用外键通常无助于性能(除非它们强制您设置您需要但不会自己创建的索引):它们在DB端添加了一些额外的工作。

但是使用外键有助于数据的完整性--拥有正常的数据可能比几毫秒更重要,特别是当您刚刚启动应用程序时(这意味着可能会有很多bug)。

票数 1
EN

Stack Overflow用户

发布于 2011-03-30 05:40:24

一般来说,每个页面有30个SQL查询是合理的(实际上,考虑到某些CMS所做的事情,这是相当低的)。另一方面,由于所提供的信息,不可能确定它是否合理的情况下。

外键不会提高性能。外键约束可能。但是,它们也将业务逻辑放入持久性层。这是个优化。

有关配置MySQL内存使用的信息可以在手册7.11.4.1.MySQL如何使用内存部分找到。

票数 0
EN

Stack Overflow用户

发布于 2011-03-30 05:56:14

我同意帕斯卡和奥斯瓦尔德的观点。在用JMeter或类似工具进行测试时,看看您是否真的有问题。

我还会在数据库中加载几百万个测试概要文件,以查看您的查询是否随着时间的推移而减慢。这将有助于优化查询性能。

如果您调整MySQL的目标是引入一个人为的瓶颈来测试应用程序,我会小心地从这些测试中推断出来。你所看到的瓶颈是,它们往往是非线性的-一切都很好,直到你遇到瓶颈时刻,然后一切变得高度不可预测。您不能简单地通过减少数据库服务器的内存来重新创建。

如果有任何低挂的结果,我会减少SQL查询的数量,但每页30个查询并不过分。如果您想要扩展到Facebook级别,我不认为将每页查询从30个减少到28个会有多大帮助--您需要做好准备,将应用程序划分到多个数据库,引入缓存,并购买更强大的硬件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5482239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档