powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Скрипт который подвешивает сайт (многопоточность в php)
12 сообщений из 12, страница 1 из 1
Скрипт который подвешивает сайт (многопоточность в php)
    #37789019
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть сайт, а ткже есть скрипт который выполняет поисковые запросы раз в сутки
Проблема в том что когда влючается этот скрипт, то сайт становится недоступен
И все бы хорошо, но если в момент включения скрипта происходит какая то операция с базой данных, то база данных портится (в ней появляется ошибка типа незавершенная операция)

выход конечно есть, это поместить скрипт на другой домен

но как быть если бы не было другого домена?

как заставить работать скрипт php (представляющий из себя цикл на 2 мин работы) не влияя на работу других скриптов?

тема скорее относится к многопоточности
потому что как то все смахивает что пхп работает в один поток
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37789054
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type,

пхп тут непричем. скорее всего скрипт выполняет в цикле тяжелые запросы. база занята ими вот основной сайт и начинает тормозить.
надо смотреть что там происходит в цикле. делать частями или запросы изменить может
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37789096
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uprot0type,

пхп тут непричем. скорее всего скрипт выполняет в цикле тяжелые запросы. база занята ими вот основной сайт и начинает тормозить.
надо смотреть что там происходит в цикле. делать частями или запросы изменить может
в том то и проблема что скрипт не работает с базой данных а записывает все в текстовый файл!!!
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37789170
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type,

ну а что за файл то?
он используется при работе сайта?
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37790202
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычный txt файл
другими скриптами сайта не используется
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37790273
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type, а что за хостинг то? Как будто, бюджетный ВПС с недостатком ресурсов. Не смотрели, что с сервером происходит когда работает скрипт?
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37790442
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А код скрипта посмотреть?! Трудно судить когда не видно что он собственно вытворяет...
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37791412
Фотография prot0type
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так на всех хостингах было всегда
А сейчас это VPS сервер, а не хостинг
Так что недостатков в ресурсах нет


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<?php
//запускаем сессию
session_start();

//set_time_limit(300);

//парсим
$content='';

$file = file(dirname(__FILE__)."/links.txt");
//$rfl=sizeof($file);
for($i=0;$i<count($file);$i++) {
	$file[$i]=str_replace("\n","",$file[$i]);
	$file[$i]=str_replace("\r","",$file[$i]);
	$fd = @fopen("$file[$i]", "r");
	//if(!$fd) exit();
	if($fd) {
		while (!feof ($fd)) {
			$content .= fgets($fd, 1024);
		}
	}
	fclose ($fd);
}

$result = preg_match_all('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}:[0-9]{1,4}/i',$content,$found);

for($i=0;$i<$result;$i++) {
$inthe=0;
	for($j=0;$j<count($out);$j++) {
		if($out[$j]==$found[0][$i]) {
			$inthe=1;
		}
	}
		if($inthe==0) {
			$out[count($out)]=$found[0][$i]."\r\n";
		}
}


$fp=fopen(dirname(__FILE__)."/proxy.txt","w");
flock($fp,2);
	for($i=0;$i<count($out);$i++) {
		fwrite($fp, $out[$i]);
	}
flock($fp,3);
fclose($fp);

echo count($out);
?>
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37791432
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type,

Файлы большие? Может целесообразнее с базой поработать?

А скрипт в кроне запускается? Если ночью его юзать на крайняк...
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37791469
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type,
for($i=0;$i<count($file);$i++) {

У тебя "count($file);" вызывается count($file) раз.
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37791472
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type, попробуй поставить usleep.
...
Рейтинг: 0 / 0
Скрипт который подвешивает сайт (многопоточность в php)
    #37791776
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prot0type,

Сдается мне, что скрипт никак не оптимизирован. При больших размерах исходных файлов запросто можно свалиться в своп, и здрассте, тормоза. Кстати, сколько весят исходные то файлы, хотя бы, ориентировочно?

Думаю, скрипт можно сделать много проще. Подозреваю, что еще проще будет на шелл. Покажите пример исходных файлов и результирующего и уточните, что нужно посчитать (собрать уникальные айпи:порт ?) - прикинем.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Скрипт который подвешивает сайт (многопоточность в php)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]