Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Скрипт который подвешивает сайт (многопоточность в php) / 12 сообщений из 12, страница 1 из 1
11.05.2012, 11:37:44
    #37789019
prot0type
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
У меня есть сайт, а ткже есть скрипт который выполняет поисковые запросы раз в сутки
Проблема в том что когда влючается этот скрипт, то сайт становится недоступен
И все бы хорошо, но если в момент включения скрипта происходит какая то операция с базой данных, то база данных портится (в ней появляется ошибка типа незавершенная операция)

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

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

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

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

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

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

ну а что за файл то?
он используется при работе сайта?
...
Рейтинг: 0 / 0
11.05.2012, 23:07:12
    #37790202
prot0type
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
обычный txt файл
другими скриптами сайта не используется
...
Рейтинг: 0 / 0
12.05.2012, 00:47:22
    #37790273
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
prot0type, а что за хостинг то? Как будто, бюджетный ВПС с недостатком ресурсов. Не смотрели, что с сервером происходит когда работает скрипт?
...
Рейтинг: 0 / 0
12.05.2012, 09:43:19
    #37790442
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
А код скрипта посмотреть?! Трудно судить когда не видно что он собственно вытворяет...
...
Рейтинг: 0 / 0
12.05.2012, 17:12:29
    #37791412
prot0type
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
Так на всех хостингах было всегда
А сейчас это 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
12.05.2012, 17:26:17
    #37791432
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Скрипт который подвешивает сайт (многопоточность в php)
prot0type,

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

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

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

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

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


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