0

15 個のサムネイル (それぞれ 4kb ~ 5kb) を追加すると、オンラインの 2.5k ユーザーで Web サイトの速度が大幅に低下したり、クラッシュしたりする傾向があります。

画像をアップロードするたびにアニメーション gif からサムネイルを作成し、その画像のパスをデータベースに保存するスクリプトを作成しました。サムネイルを追加する前に開いたすべてのページで、私のウェブサイトはデータベースの URL、タイトル、ID、パスから gif 画像に配信されますが、変更されたのは 15 タイトルのサムネイルのパスを取得することだけです。

私のウェブサイトはhttp://www.smesniposteri.com/です。右側に、私が話していた 15 のタイトルが表示されています。これは、ユーザーが訪問ごとに開くページに関するコードで、サムネイルの有無にかかわらずです。

それなし:

$sql = "SELECT id, url, hits, subject FROM ".DB_PREFIX."items WHERE `id` != '".$id."' AND `type` = '".$cat."' ORDER BY `timestamp` DESC LIMIT 0, 15;


$result = $db->query($sql);
$template->assign_vars('others_row', array(
'URL'   => $url."/".create_item_url($row['id'], $row['subject'], $cat),
'HITS'  => number_format($row['hits'], 0, ',', '.'),
'SUBJECT'   => $row['subject']
    ));

サムネイル付き:

$sql = "SELECT id, url, hits, subject, thumb_url FROM ".DB_PREFIX."items WHERE `id` !=   '".$id."' AND `type` = '".$cat."' ORDER BY `timestamp` DESC LIMIT 0, 15;


$result = $db->query($sql);
$template->assign_vars('others_row', array(
'URL'   => $url."/".create_item_url($row['id'], $row['subject'], $cat),
'HITS'  => number_format($row['hits'], 0, ',', '.'),
'THUMBNAIL'   => $row['thumb_url'],
'SUBJECT'   => $row['subject']
    ));
4

1 に答える 1

0

ここで多くのことが起こっている可能性があります。おそらく、これほど多くのさまざまなイメージがあり、多くのユーザーがいる場合、ハード ドライブのスラッシングに問題があると思います。データベースとイメージが同じドライブにある場合、データベースのシークに加えて 1 秒間に数千回、15 の異なるファイルシステム ファイルを要求すると、遅延が発生します。特に画像が断片化されたハード ドライブ上にある場合。実際には、Perfmon などのパフォーマンス ツールを実行し、イメージを使用してサーバーを実行している場合と使用していない場合に、CPU、メモリ、およびドライブのメトリックを観察する必要があります。また、両方のモードで実行している場合は、データベース クエリの実行計画をチェックして、コードが予期しない大量のデータベース呼び出しを行っていないことを確認してください。これにより、ボトルネックがどこにあるかがわかります。

于 2013-05-20T20:19:07.617 に答える