Questions tagged «performance»

将其用于有关Drupal的性能,如何衡量和改进它的问题。



9
在缩放和调整性能方面的真实经验
据称,我正在工作的网站在发布后不久将具有很高的点击率。客户正在谈论一天之内每秒大约2500次点击的可能性。 忽略这个命中率可能是疯狂的客户端乐观的事实,除了获得最大的服务器以外,应该配置Drupal支持最大命中率的最佳方法是什么。 我读过缩放drupal.org基础设施,Drupal的性能博客,最佳实践缩放的Drupal和其他许多网页,但我正在寻找的是这样做的真实经历,是什么在起作用,什么不和什么期望。

10
您如何提高Drupal的性能?
Drupal的开发速度很快,但是性能却很差。每秒很难达到50个请求。 在一个简单的网页中有很多SQL查询。如果您在Drupal.org中测试提交表单的请求时间,则总是需要几秒钟才能完成。 您如何提高网站速度?
54 7  6  performance 

5
Nginx与Apache-那里有实际的使用情况比较和统计信息吗?
我有一个要使用的新服务器,并且我盯着一块空白的画布。我可以在上面放任何东西。在对Apa​​che感到满意的同时,我不断听到nginx如何处理比Apache多得多的流量,其系数是10、100甚至更多。不仅如此,它“快得多”。 当我搜索文章时,我会发现很多与Drupal无关的东西。或者,当我确实遇到与Drupal相关的文章时,要么是1)某人的配置文件试图快速解释如何设置它,要么是2)某人说“不,不要使用nginx,将Apache与PHP一起使用” fcgid”,但从来没有解释原因。 那么,当谈到Drupal时,这里的现实是什么? 例如,我正在寻找与此2bits.com文章类似的东西。在这里,作者对Apache mod_php与带有fcgid的Apache进行了广泛的比较,权衡了它们的优缺点,并提供了一个案例研究来说明对现实世界的影响。本文中有足够的信息供我做出明智的决定,以决定哪种方法最适合我的情况。 虽然该作者将mod_php与fcgid进行了比较,但我正在寻找对Apache vs Nginx进行相同类型的全面,真实的研究。 是否有人切换到Nginx并被它与Apache的区别“吹牛”?即使对于已经使用APC,Memcache和Varnish之类的主动缓存的高度优化的环境,当唯一变化的变量是用Nginx替换Apache时,其本身也确实会产生很大的差异,值得投资这种新的替代技术? 将在该服务器上运行的网站每月平均可获得200万PV。运行Cent OS 6的LAMP堆栈。4核CPU,8 GIGS内存。Memcached和APC将成为其中的一部分。Drupal安装没什么特别的-基本上是Vanilla 7,带有大约50个模块。

16
性能问题:首次请求延迟
我将一个带有Minelli子主题的D7站点放在一起。在整个过程中,我尝试了不同的主题,不同的模块。在开发过程中的某个地方,我遇到了一个奇怪的性能问题,现在我真的不知道是什么主题/模块/配置导致了这个问题。 问题是,当我第一次访问该网站时,显示第一页大约需要15秒。然后,我可以在该站点周围移动,它的响应速度非常快。如果我将其放置一个小时左右,然后再返回,则第一个请求又很慢。 我已经清除了缓存,所以不应该成为问题。另外,我禁用了我不使用的主题和模块。我将网站移至新的基础架构,但问题随之而来! 我下一步要去哪里?

9
在字段可伸缩性的上下文中,重用字段与创建新字段之间有什么良好的平衡?
我已经在网站上阅读了以下短语: 与其将新字段添加到内容类型,不如添加现有字段是降低系统复杂性并提高可伸缩性的更好选择。 并产生了一些疑问。 在我们正在开发的系统中,我们有可能在3种或4种内容类型之间重用一个字段,但恐怕它不会像引号中所说的那样提高可伸缩性,因为它会减少它,因为该字段的表会更快成为瓶颈。 (至少在这种情况下,这是我的推理,因为该字段的所有值在一起每年将达到数百万美元,这会使表太大)。你同意吗? 进行架构时,要针对多少行是明智的最大目标?这样,我们可以决定何时重用字段以及何时创建新字段(即使存在重用的机会)。

2
PHP 5.4和Drupal 7
我听说PHP 5.4比PHP 5.3快。 Drupal 7在5.4以下运行是否可以,或者各种贡献的模块可能开始破坏该站点? 无论如何,如果我使用APC操作码缓存(可能是5.4),根本不会提供任何好处? 谢谢
31 7  performance 

2
消除折叠内容中的阻止渲染的JavaScript和CSS
我正在建立一个Drupal 7网站。这些是我使用的一些模块:自适应主题(主题),视图和内容窗格,面板,迷你面板,无处不在的面板,页面管理器,菜单的Superfish,Addthis,选择(下拉)。 为了提高网站性能以及处理CSS和JS文件,我使用了Advagg模块。 在运行Google的Pagespeed测试时,出现以下错误,提示为“ Should Fix”: 在首屏内容中消除渲染阻止JavaScript和CSS 您的页面有6个阻止脚本资源和8个阻止CSS资源。这会导致页面渲染延迟。如果不等待以下资源加载,则无法呈现页面上的首屏内容。尝试延迟或异步加载阻塞资源,或直接在HTML中内联这些资源的关键部分。 这是Google提供的信息: 删除阻止渲染的JavaScript 优化CSS交付 有什么办法可以更改Advagg模块或Drupal核心的设置并解决此问题? 还有另一种方法可以实现这个目标吗? 更新 -根据mikeytown2答案实施更改后,我在Google的Pagespeed测试中收到以下消息: 在首屏内容中消除渲染阻止JavaScript和CSS 您的页面有6个阻止脚本资源和4个阻止CSS资源。这会导致页面渲染延迟。 如果不等待以下资源加载,则无法呈现页面上的首屏内容。尝试延迟或异步加载阻塞资源,或直接在HTML中内联这些资源的关键部分。

4
大型站点的节省内存的缓存清除策略?
我的Drupal 7站点中有一个拥有数千个字段,一堆内容类型,超过25个视图以及数百个(很快成千上万个)配置文件类型。因此,我正在使用一个更好地缓存实体字段信息的核心补丁(http://drupal.org/node/1040790),以及-dev版本的Views,它可以通过显示更好地缓存视图(而不是一个HUGE)视图缓存中包含所有视图数据的行)。 这已帮助站点上的大多数页面加载了20-30MB的已用RAM,而不是160MB +(不是为10MB +的字段和视图拉出cache_ *表行,这些补丁有助于使cache_ *数据保持更高的效率)。 但是,这带来了一个问题,即缓存重建需要很长时间。通常超过一两分钟。在这段时间内,Drupal根本不会加载任何页面(因为它尚未尝试读取的缓存尚未建立,因此其他请求必须等待)。 在低流量周期中,这没什么大不了的。一百个左右的用户只需等待一分钟,即可加载页面。但是在高流量周期中,Apache服务器开始发疯,CPU负载超过40,并且由于所有工作线程都处于等待状态并最大程度地占用了内存,从而导致交换,内存很快就装满了。这有点像死亡螺旋。重新启动httpd可以清除问题,但是恢复正常需要5到10分钟。 我的目标是做到这一点,以使缓存清除不会使站点瘫痪。首先,如果我使用admin_menu的单个缓存清除功能(例如“ CSS和JS”,然后是“菜单”,然后是“主题注册表”,等等),事情进展顺利,直到我点击了“ Page and else”选项。那是在重置视图的缓存时(一个非常占用CPU和数据库的操作,需要缓存视图的数量),并且在重置字段信息缓存时(在此站点上也是CPU和数据库的消耗)。 所以...我的问题/想法: 使用drush和/或其他shell脚本,是否有可能比“一次清理所有缓存并希望进行干净的重建”更加智能地清除缓存? 我可以在清除缓存时阻止HTTP请求,以使apache不会被一堆带有缓存标记的请求所阻塞吗? 如果我可以清除Drupal /正常httpd请求之外的缓存,则可以为缓存清除操作设置更高的PHP memory_limit,并退出我的通用memory_limit(现在设置为256MB,以防任何单个httpd线程需要清除缓存) ...)。 基本上:除了单击UI中的按钮或使用之外,是否有任何智能,优雅的方式使用Drupal清除所有缓存drush cc all? [ 编辑说明:我的主要问题是缓存重建,这(a)需要一段时间,并且(b)阻止所有其他请求,直到重建完成。我想找到一种方法来使它在高流量时不会那么致命。]
30 7  drush  caching  performance 

3
如果使用清漆,使用“升压”模块是否多余?
我们在Varnish服务器后运行Drupal实例,但我们正在寻找其他/其他方式来加速站点。Boost是为此经常被命名的模块。它似乎会生成静态版本的页面,并为这些页面提供服务,以避免重新生成时间,但是-如果我们已经使用清漆进行缓存-这对我们有好处吗?

4
优化经过身份验证的用户性能的最佳方法?
此处的关键字已通过身份验证! 当前(据我所知),事实上的优化匿名访问的方法是通过静态页面缓存(清漆/鱿鱼/增强)。 但是,据我所知,在大多数用户都经过身份验证的情况下,这似乎没有多大用处。 除了明显的APC,Memcache和向硬件投入的资金外,对大多数用户经过身份验证的高流量站点进行性能调整的最佳方法是什么? 例如:drupal.org,社交网络,社区等。 我现在对Drupal 6更感兴趣,所以我猜MongoDB现在不申请了...
22 6  caching  performance 

4
如何获得核心以利用MySQL主/从配置?
我读了这个问题,MySQL主/从复制不起作用,其答案是: 在Drupal核心中几乎没有实现使用从属数据库。如果要开发自己的模块,则对db_query的调用需要使用$ options数组指定它们要使用从数据库。有关如何设置此数组的信息,请参见DatabaseConnection :: defaultOptions。 有没有一种方法杀死小猫黑客攻击核心,以获得db_query()并db_select()让更多的奴隶SELECT查询? 默认情况下,这些功能将查询主服务器,除非明确要求查询从服务器(请参阅其API)。您必须编写db_query($query, $args, array('target' => 'slave'))命令才能查询从站,而内核(和所有模块)并未编写来实现此目的。 只有搜索(请参阅从属部分)和聚合器似乎可以利用此功能。 编辑: 10月25日, 我看到pressflow 7退出了,但是我不确定现在是否有很大帮助。 我还没有找到相关的内容,因此让我们尝试一些赏金以帮助获得答案。 编辑: 10月31日, 我主要担心Crell对此主题的评论:与奴隶怎么办?。 主要是,如果我将SELECT查询发送到从属服务器,会遇到麻烦,复制延迟会发生什么情况,以及我可能想node_load()在保存新节点后立即执行操作。

3
Ajax回调最快的方法/实现是什么?
我有一张地图,它通过ajax在各种/众多的地图事件上加载标记。当前,我为我的hook_menu()项目定义了一个自定义页面回调,该回调将打印json / js。 由于我的页面回调不返回任何内容而仅打印内容,因此Drupal不会呈现完整的模板,菜单等,因此允许我仅使用JavaScript 返回页面。 尽管这确实可行,但我相信Drupal仍然可以完全启动,这意味着我要减少很多开销。 我一直在研究高性能JavaScript回调处理程序,该处理程序自称为“高性能JavaScript回调处理程序”,简而言之,它看起来像是在js.php向您index.php定向请求并自定义/限制/优化默认情况下的Drupal引导程序。 不幸的是,js项目还没有D7版本(请在此处发布),这使我们进入了一个开始…… 在Drupal中实现Ajax回调的最快方法是什么?
18 7  performance  ajax 

1
Drupal调用“ is_dir”超过4000次?
在遇到非常重要的站点的加载时间麻烦之后,我安装了XHPROF,并查看了统计信息以查看可以在哪里改进代码。 我发现了一些我不理解的有趣东西。Drupal在几乎每个请求上都在4000多个时间内调用“ is_dir”,这大约需要800毫秒才能执行。为什么会这样,有没有办法加快速度呢? 2-4秒钟的加载时间是800ms的很大一部分。
17 7  performance 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.