我对德鲁帕尔几乎一无所知,但我确实有个问题。我们有一个直接用HTML和PHP编写的站点,它在1-2秒内加载了主页,并向服务器发出了25次请求,以获取所需的数据。一个新的Drupal版本的站点需要5-6秒的时间来加载主页,这并不比以前的页面复杂,它向服务器发出127个请求(我正在观看Firebug网),以获取它需要的数据。
这是典型的吗?
谢谢。
发布于 2013-11-06 18:08:23
是的,对于Drupal或大多数大型PHP应用程序框架来说,3倍的性能命中是自然的。Bootstraping是一个昂贵的操作,因为它需要加载大量文件。众所周知,Drupal还会执行过多的DB查询,从而生成单个页面。
第一步是启用页面缓存和JS/CSS聚合。这可以在administration >> Configuration >> Performance (在Drupal 7中)的管理页面中完成。
但是,轻量级PHP站点上的1-2秒加载时间是重载或调优严重的主机的标志。您应该确保您的站点在最近的PHP版本中运行(每个版本的PHP运行速度越来越快)。还可以启用APC (或任何其他opcache),即使使用默认设置,它也可以极大地提高Drupal的性能。使用APC时,尝试增加共享内存大小(例如。apc.shm_size = 64 ( php.ini)。
你也应该尝试剖析你的网站,以确定实际的瓶颈。由于Drupal每页提出几个请求,DB很快就成为瓶颈。Drupal支持使用多个从服务器进行读取查询。
关于数据库,Drupal使用默认情况下存储在数据库中的内部缓存。因此,这个缓存不能很好地处理重载的数据库。Drupal的缓存是可插入的。它可以配置为使用模缓存、雷迪斯或mongodb作为存储。这可以大大减少数据库的负载。
发布于 2013-11-06 09:57:29
是的德鲁帕尔很慢。这就是为什么我们在页面发出太多请求时使用缓存机制的原因。
注意:-请提供一些与负载测试工具分开的实际数据。
发布于 2013-11-06 08:49:06
有多少请求被发送到服务器?这也很重要,但drupal有解决方案。Drupal将所有css文件合并到一个文件中,以使服务器调用降低,对于js文件也是如此。
但是速度对服务器端代码、数据库操作也很重要。Drupal是一个功能强大的系统,它使复杂的事情变得简单(是的,简单的事情复杂),并提供这样的功能,这样用户就可以在不需要编码的情况下建立一个完整的门户。但是,所有这些功能都是以性能为代价的。在内部,drupal做了很多操作,这使得它变得很慢。
这些操作包括视图和块操作,视图/块/表单越复杂,操作就越多,因此需要更多的时间。
此外,如果网站内容增加,那么它将变得更加缓慢。因为drupal认为每个内容都是一个节点,对于所有的内容类型(例如,新闻、cms页面、推荐等等),数据都存储在单个节点表中(其他一些表也被使用,但您的主要内容存储在节点表中)。因此,当内容增加时,单个表上的负载就会增加,这会导致缓慢的数据库操作,因为您的表越大,操作时间就越长。
我可能错了,但德鲁帕尔很慢
https://stackoverflow.com/questions/19807344
复制相似问题