【问题标题】:Decrease waiting time for a website减少网站的等待时间
【发布时间】:2011-11-08 02:41:35
【问题描述】:

我们正在尝试创建一个新网站,当我在浏览器上写下我网站的链接时 例如:www.mywebsite.com,等待时间有点长。

我看到一些网站的等待时间比我的要短,有什么方法可以减少等待时间,我们也在为网站使用 memcached 吗?

PS: idk 到底是怎么调用的,但我用 firebug 看到它,它说等待时间。

谢谢。

已编辑

这是我用来从数据库中获取数据的代码:

function f3($id = '') {
    $id = mysql_real_escape_string ($id);
    $sql = 'SELECT id,post_title,post_content,post_date,post_status,term_taxonomy_id,object_id FROM wp_posts, wp_term_relationships WHERE term_taxonomy_id = 60 AND post_status = "publish" AND wp_term_relationships.object_id = id ORDER BY post_date DESC LIMIT 1 OFFSET 2';
    $res = mysql_query($sql) or die (mysql_error());    

if (mysql_num_rows($res) !=0):
    $row = mysql_fetch_assoc($res); 


    $mycontent = $row['post_content'];
    $mycontent = strip_tags($mycontent);
    $mycontent = substr($mycontent,0,150);
    $mycontent = preg_replace("/\[caption.*\[\/caption\]/", '', $mycontent); 


    $title = AvinD($row['post_title']);

    $old_date = $row['post_date'];              // returns Saturday, January 30 10 02:06:34
    $old_date_timestamp = strtotime($old_date);
    $new_date = date('d.m.Y   H:i', $old_date_timestamp); 


    $first_img = '';
    $my1content = AvinD($row['post_content']);
    $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $my1content, $matches); 
    $first_img = $matches [1] [0];
    if(empty($first_img)){ //Defines a default image
    $first_img = "/img/default.png";
    }

    echo '
        '.$new_date.'

        <a href="single.php?id='.$row['id'].'"> '.$title.' </a> </div>
         <a href="single.php?id='.$row['id'].'"> <img src="timthumb.php?src='.$first_img.'&amp;h=107&amp;w=190amp;zc=1" alt="" />  </a> </div>
        '.$mycontent.'
    '; //echo

    else:
        echo 'Page dont exist';
    endif;
} // end 

【问题讨论】:

  • 您是否正在加载任何外部资源? (脚本、css、图像等)如果是,则可能是外部资源的主机运行缓慢,而不是您的服务器。
  • 对于一般性建议,请查看Page SpeedYSlow
  • 类比:有的车以 100 公里/小时的速度加速 4 秒,有的车加速到 10 秒。如果不知道这些车在比赛中使用的具体情况,你怎么能解释这一点。
  • 最后的评论很好。我想知道女巫因素使我的网站增加或减少等待时间因素

标签: php dynamic


【解决方案1】:

解决方案: 对于慢速脚本:使用 firebug 和 YSlow Plugin for firefox 检测是什么让你慢了下来。 对于慢速服务器:使用cloudflare 加速您的服务器,提高 60% 或更改您的托管公司。

【讨论】:

    【解决方案2】:

    很大程度上取决于您的网站是做什么的。我建议从分析开始。它将帮助您确定您的努力以获得最大收益。

    Firebug Net tab 也是正确的轨道,请查看Yslow

    一般:

    • 检查服务器 CPU 使用率、网络延迟 (ping) 等。解决任何问题。
    • 获取更多 RAM 和/或更有效地使用它。下面的大部分内容都是由此而来的。
    • 缓存昂贵的操作
    • 提高数据库速度
      • 减少每页执行的查询次数
      • 将数据库拆分到另一个服务器以减少争用
    • 使用反向代理/缓存将请求划分到多个前端 Web 服务器。
    • 将应用服务器拆分为自己的服务器。
    • 优化页面资产以实现快速交付
      • 将 CSS 和 JS 文件分别合并到一个文件中。
      • 缩小它们 - 删除无关字符
    • 对所有提供的文本文件使用 Gzip 压缩。
    • 使用 CDN 将资产卸载到其他域,显着提高现代浏览器的并行性能。
      • 应从另一个域提供图像。
      • 如果可能,也可以使用 CSS/JS。

    这些在以下位置进行了详细介绍:

    【讨论】:

      【解决方案3】:

      许多不同的因素会影响您的页面加载时间。最大的三个:

      1. 服务器延迟
      2. 内容过载
      3. 糟糕的编程

      在没有关于您网站的更多详细信息的情况下,我将简要介绍如何诊断和解决这三个大问题。如果您在对此答案的评论中提供您的网站链接,我可以更具体。

      服务器延迟

      当您尝试连接到您的网站时会发生这种情况,并且连接会挂起一段时间。此外,这可能会有一个空白的白色页面,它会旋转一段时间,然后最终开始加载您的内容。

      除了切换主机或与主机合作以增加带宽和服务器连接之外,您无法自行解决此问题。

      内容过载

      最好的例子是当您看到有人在一页上放置大量图片时。请记住,您添加的每个图像都要求用户在加载页面之前下载此图像。这包括&lt;img&gt; 标签以及background-imagees 中的那些。

      糟糕的编程

      这种情况类似于服务器延迟,您必须等待一段时间才能开始加载内容。这可能是由许多原因造成的,从缓慢的数据库连接到多个嵌套循环。不查看完整代码就很难诊断。

      【讨论】:

      • 你好,可以看看吗,www.noa.al/newnoa3/
      • 查看您的网站,最大的问题似乎是某处的连接速度较慢。它可能是您的服务器,也可能是您的数据库。您可以通过遵循here 给出的建议来缓解一些问题。不过,我强烈建议您联系您的主机并抱怨服务器速度慢。他们可能会做一些事情。
      • 一个建议:不要从timthumb.php抓取图片,而是在插入文章的过程中进行resize,然后只引用已经调整大小的图片。我认为这可能会节省一些时间。
      • 豪尔赫,因为我不是这方面的专家,请问有什么建议吗?谢谢
      • @Meo 我对 Wordpress 架构不是很熟悉,但我猜你必须创建一个使用钩子和过滤器的插件。例如:当您上传图片(即过滤器)时,钩子会触发调整图片大小。此链接将使您更好地了解现有的过滤器:codex.wordpress.org/Plugin_API/Filter_Reference#Database_Writes
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 1970-01-01
      • 1970-01-01
      • 2011-04-18
      相关资源
      最近更新 更多