Questions tagged «performance»

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

3
如何改善Drupal7网站的性能?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 对于Drupal的新手来说,我看到Drupal Caching上有很多可用资源,但是我不确定要使用哪个资源。
10 7  caching  performance 

3
缓存Drupal引导程序
我很好奇是否有人试图在Drupal中“缓存”引导过程。 通常,Drupal将在每个请求上运行7个引导阶段,但是也许在已部署的生产系统上,可以“销毁”其中的一些或全部? 我想到的可能的建议可能是 序列化引导状态并将其粘贴到内存缓存中 脚本可以为bootstrap.inc生成补丁,该补丁会将某些信息硬编码到文件中。 我相信David Strauss试图使引导过的Drupal在libevent上运行。 其他疯狂吗? 那里进行了哪些尝试,哪些已知((某种程度上)可靠)?


5
Drupal数据库innodb或MyISAM?
我有一个Drupal网站,并且遇到性能问题。我发现了如何将数据库从MyISAM转换为InnoDB?表示通过切换可以提高性能。 如何确定我的MySQL数据库是InnoDB还是MyISAM?

2
哪些表应该或可以迁移到InnoDB,哪些表应该保留为MyISAM?
按照标题:是否有快速候选列表供表迁移到InnoDB?而且应该保留MyISAM。 一些其他信息 该站点具有相当大的读取负载,但是每小时会插入大约10个带有标签等的节点。 我们大量使用CCK(以形式的大量标准化表格content_field%)。 我们还将视图用于几乎所有的块和页面。但其中许多可以替换为自定义模块(以减少数据库查询和这些查询的繁重程度)。 用户都是匿名的;除了少数已登录的编辑者和网站管理员以外。

3
最小化drupal的汇总javascript(自动)的最佳方法是什么?
刚刚在我新创建的drupal 6网站上运行Google Pagespeed,它报告: Minifying the following JavaScript resources could reduce their size by 15.6KiB (12% reduction). Minifying http://[sites]/sites/default/files/js/js_9f19b87ffb72ca233ea7e45dda2f20f9.js could save 15.3KiB (18% reduction). See optimized version or Save as. 上面的文件是通过drupal的默认JavaScript聚合方法生成的,但显然可以小18%(对于本网站而言,这很重要)。在缩小drupal网站上的JavaScript而又不破坏任何现有代码的情况下,哪种方法被认为是最好的?


4
如何配置具有4g内存的服务器以运行drupal 7
我正在具有4 GB内存的新服务器上安装Drupal 7。我想获得一些关于如何正确配置它,给MySQL多少内存以及给PHP多少内存的提示。我发现的一件事是,在Zend服务器上运行Drupal 7的速度比在普通Apache服务器上运行Drupal 7的速度快三倍。(我认为这与操作码缓存有关。我注意到devel模块使用了三分之一的内存。 可以和我分享您的配置吗?

3
如何加快drupal的node_save()函数?
node_save()的效率低下给我带来很多麻烦。但是节点可以解决我的问题吗?最终,这就是我想要找出的。 我创建了一个具有100,000次迭代的循环。我创建了使节点对象有效并正确保存的最低要求。这是节点保存代码: $node = new stdClass(); $node->type = "test_page"; node_object_prepare($node); $node->uid = 1; $node->title = $node_title; $node->status = 1; $node->language = LANGUAGE_NONE; if($node = node_submit($node)){ node_save($node); } 结果如下: 保存了100,000个节点,每个节点都使用node_save()。完成了5196.22秒。那就是19节省一秒钟。 至少可以说,这是不可接受的,特别是当此人每秒获得大约1200个单独的插入查询,并且这个人每秒获得25,000个插入时。 那么,这是怎么回事?瓶颈在哪里?是否与node_save()函数一起使用以及如何设计? 可能是我的硬件吗?我的硬件是一台开发服务器,除我之外没有人可以使用-Intel双核,3Ghz,Ubuntu 12.04和16 gig的ram。 在循环运行时,我的资源使用情况是:MySQL 27%CPU,6M RAM;PHP 22%CPU 2M RAM。 我的mysql配置由percona向导完成。 Mysql说,如果我的CPU使用率低于70%,我的问题就是磁盘绑定。当然,我只有WD Caviar 7200 RPM磨粉机,但我希望它每秒能获得超过19次插入! 不久之前,我写过关于每天节省30,000个节点的文章。但是,需要明确的是,该节点与任何外力无关。纯粹是了解如何提高对node_save()的调用速度的基准。 实际上,我需要使用node_save每分钟将30,000个项目放入数据库。如果不选择保存节点,我想知道我是否可以编写自己的drupal api函数“ node_batch_save()”或利用mysql的INSERT查询功能进行批量插入的功能。关于如何处理此问题的想法?
9 7  performance  nodes 

3
如何每小时将1000个节点上载到一个在线drupal 7站点并避免死锁?
不久之前,我在这里写了有关死锁的信息:PDOException:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现了死锁;没有找到死锁。 尽管开发团队竭尽全力,我们仍然会收到如下错误: PDOException:SQLSTATE [40001]:序列化失败:1213尝试获取锁时发现死锁;默认值为0。尝试重新启动事务:INSERT INTO {location_instance}(nid,vid,uid,genid,lid)VALUES(:db_insert_placeholder_0,:db_insert_placeholder_1,:db_insert_placeholder_2,:db_insert_placeholder_3,:db_insert_placeholder_4);数组([]在(_)位置的(_974)数组([]:db_insert_placeholder_0] => 1059 [:db_insert_placeholder_1] => 1059 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => cck:field_item_location:1059 [:db_insert_placeholder_4] => 1000 /var/www/website.com/sites/all/modules/location/location.module)。 尽管该示例中有特定的表,但在其他表上仍会出现此错误。 这是我的情况。我参加了一个大型大学项目。在任何给定时间,每天都有50,000名校园居民使用该系统。除此之外,我还将手动和通过自定义模块代码(从旧大学数据迁移)将1000千个内容项迁移到这个新的Drupal 7站点。 这个错误正在使我们丧命,以至于如果Drupal无法处理这种类型的负载,我们几乎已经准备好废除过去几年的工作,并进行其他工作。 但这或多或少是我的问题-Drupal如何处理这种类型的负载?如何组织我的工作流程以处理这么多的活动?这是Drupal问题吗?数据库问题? 具体来说,我正在运行Ubuntu,LAMP堆栈16GB RAM。我愿意接受任何建议,无论是与Drupal有关,与数据库有关,与服务器配置有关,还是在Drupal的能力范围内可以工作的其他工作流程,如果有丰富的活动经验,请随时提出任何建议。

1
启用Views UI模块是否会影响性能?
我注意到,“管理菜单”模块中的“禁用开发人员模块”链接禁用了Views UI模块。我的印象是,禁用开发人员模块的目的是为了减少性能影响。但是我认为Views UI模块不会对性能产生影响。在生产中启用Views UI是否会对性能产生影响?还有其他原因要在生产站点上禁用此模块吗?

3
网站性能,缓存无法正常工作
我正在使用性能日志记录模块。在屏幕快照上方,有一件奇怪的事我注意到在每个页面上都插入Cache_bootstrap。当您转到任何页面(管理主题和前端主题)时,请插入缓存,然后删除缓存正在运行。这意味着在每个页面中设置和销毁了缓存,实际上没有缓存发生。我该如何进一步阐述呢?为了诊断该问题,因为当前我正在研究网站的性能。 我还在使用New Relic进行性能检查。它还表明数据库负载很高。 和my.cnf信息。

2
D7的最佳CSS和JS聚合/最小化策略
Drupal 6有一个很棒的advagg模块,可以很好地完成CSS和JS 的智能捆绑,但是目前还没有D7版本。 我希望实现的是: 较少的CSS和JS文件(5个CSS和5个JS文件太多) JS文件具有缩小功能(目前,核心仅针对CSS执行此操作) 是否有drupal 7解决方案会在这里有所帮助?他人在优化此方面有什么经验? 编辑:问题最初发布于2011年。现在有非常稳定的advagg D7版本。

1
在哪里渲染?预处理还是模板?
我们正在不断提高编码性能,并且正在监控每个页面的加载情况,以优化网站的呈现时间。 在上面的声明中,我偶然发现了一个问题,我们应该在哪里渲染可渲染数组? 如果在预处理器中渲染它们,则模板将保持整洁,因为您仅打印变量。 预处理器: function template_preprocess_node__faq(&$variables) { $node = node_load($variables['nid']); $node_style = node_view($node, $variables['view_mode']); $faq_sets = array( '#theme' => 'my_module_faq_set', '#sets' => $variables['field_faq_set'], ); $variables['faq_image'] = render($node_style['field_faq_image']); } 模板: <div class="faq_image"> <?php print $faq_image; ?> </div> 但是,我不确定这是预处理和打印变量的正确/最快/最近的方法。 我猜Drupal并不是这个问题……在node.tpl.php呈现默认变量的同时,在其他默认模板(如html.php.php)中,变量只是被打印出来。 是否有人有规则和/或一些技巧和建议以最干净,最快的方式解决此问题?


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.