减少网站的等待时间

时间:2011-09-01 03:21:39

标签: php dynamic

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

我看到一些网站的等待时间比我的要低,是否可以减少等待时间,我们也在网站上使用memcached?

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

谢谢。

EDITED

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

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 

3 个答案:

答案 0 :(得分:4)

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

  1. 服务器延迟
  2. 内容过载
  3. 糟糕的编程
  4. 如果没有关于您网站的更多详细信息,我将简要介绍如何诊断和解决这三个大问题。如果您在此答案的评论中提供您的网站链接,我可以更具体。

    服务器延迟

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

    除了切换主机或使用主机增加带宽和服务器连接之外,您无法解决此问题。

    内容过载

    最好的例子就是当你看到有人在一个页面上放置了大量图像时。请记住,您添加的每个图像都要求用户在加载页面之前下载此图像。这包括<img>代码以及background-image es。

    中的代码

    糟糕的编程

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

答案 1 :(得分:1)

很多都取决于您网站的功能。我建议从分析开始。它将帮助您确定您的最大收益。

您也是Firebug Net tab的正确轨道,也可以查看Yslow

一般来说:

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

这些内容详述如下:

答案 2 :(得分:0)

的解决方案: 对于慢速脚本:使用firebug&amp;用于Firefox的YSlow插件可以检测到什么减慢了你的速度。 对于慢速服务器:使用cloudflare来加速您的服务器,增加60%或更改您的托管服务。