Перегрузка сервера?

S
На сайте с 30.09.2009
Offline
116
725

Ребят, подскажите плиз, не будет ли проблем в дальнейшем с хостингом, т.к. юзеров будет увеличиваться на сайте, а у нас каталог материалов и в каждой странице есть такой код

<!-- проверяем наличие пдф каталога и его размер -->

<?php
if (file_exists($_SERVER['DOCUMENT_ROOT'].'/katalog/pdf/'.$s3.'-'.$s4.'.pdf')) {
$size = filesize($_SERVER['DOCUMENT_ROOT'].'/katalog/pdf/'.$s3.'-'.$s4.'.pdf');
$kb = round($size / 1024);
$mb = round($kb / 1024 );
echo 'Скачать электронный каталог '.$s1.' '.$s2.' <img src="../image/pdf.jpg"> *.pdf
можно нажав <a target=_blank href="pdf/'.$s3.'-'.$s4.'.pdf" rel="nofollow">на эту ссылку</a>
<br>'.$kb.' кБ = '.$mb.'Мб';
} else {
echo '<img src="../image/pdf.jpg"> pdf каталога '.$s3.'-'.$s4.'.pdf нет. Мы постараемся добавить его в ближайшее время.';
}
?>
<!-- конец проверяем наличие пдф каталога и его размер -->

и такой

<br>Фотографии коллекции<br>


<?php
//массив в котором будем хранить названия файлов
$files = array();
//Указываем рабочую папку по умолчанию
$url = 'foto';
//Проверяем, является ли директорией
if (is_dir($url)) {
//Проверяем, была ли открыта директория
if ($dir = opendir($url)) {
//Сканируем директорию
while (false !== ($file = readdir($dir))){
//Убираем лишние элементы
if ($file != '.' && $file != '..') {

//если содержит название фабрики и коллекции значит нужный нам файл $file будет указывать путь назв файла
if (ereg ( $s3, $file)){
if (ereg ( $s4, $file)){
// Добавим полученный файл в массив
$files[] = $file;
} }}
}
//Закрываем директорию
closedir($dir);
}
}

//сортируем названия файлов
if (sort($files)) {
foreach ($files as $value) {
$file = $value;

echo "<img src='foto/$file' alt='$s1 $s2'> ";
}
}


?>

Спасибо

Перелинковку сделал. Теперь думаю куда потратить денежки - сапа, мира или блоги :)
T.R.O.N
На сайте с 18.05.2004
Offline
314
#1

а что мешает все даннве записать в текстовый файл, и подключать его при выводе. А перезаписывать файло, к примеру, 1 раз в час

вопрос даже не в перегрузке а в неоправданном насилии над сервером и в исполнении ненужных операций

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
maxwell
На сайте с 29.04.2009
Offline
149
#2

Работа с ФС всегда была узким местом, по возможности не используйте такие скрипты. Как правильно Вам подсказали, сделайте все запросы к файловой системе один раз, а в дальнейшем только берите данные из, скажем, тестового файла.

Например, организуйте счетчик открытий страницы через простой файл. Если значение счетчика равно, скажем, 1000, то выполняется Ваш скрипт, только вместо echo данные сбрасываете в файл data.txt.

В конце скрипта вывод содержимого data.txt.

Если нагрузка будет совсем уж большая (что вряд ли), то data.txt замените на объект memcache.

S
На сайте с 30.09.2009
Offline
116
#3
T.R.O.N:
а что мешает все даннве записать в текстовый файл, и подключать его при выводе. А перезаписывать файло, к примеру, 1 раз в час
вопрос даже не в перегрузке а в неоправданном насилии над сервером и в исполнении ненужных операций

Да, спасибо, но я так понимаю в моём случае это не возможно.

500 товаров = 50 фабрик по 10 моделей.

Для каждой модели получается вывод данных слегка разный, т.к. этот скрипт (функция) проверяет в каком он сейчас файле и не дает выводить ссылку сам на себя, но выводит ссылку на другие модели этой фабрики. Причем если юзер переходит в модель другой фабрики, то скрипт теперь снова сканирует какие файлы (страницы) относятся теперь уже к уже этой модели и дает ссылки соответственно только на смежные модели именно этой фабрики.

ps Но если перегрузки не будет это хорошо. Спасибо

stroydomen добавил 16.08.2010 в 13:41

T.R.O.N:
а что мешает все даннве записать в текстовый файл, и подключать его при выводе.

Не будет ли у Вас кой нибудь ссылочки, где можно подробнее с этим вариантом ознакомиться?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий