Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите ускорить выполнение
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите ускорить выполнение

Страниц (1): [1]
 

1. K_A_S - 26 Декабря, 2008 - 00:40:42 - перейти к сообщению
от 0 до 10337 прошло гдето за полтора часа как ускорить выполнение?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. mysql_connect("host","user","pas");
  3. for($i=10337;$i<1000000;$i++){
  4. $page=get_content($i);
  5. $it="Персонаж #".$i." не найден.";
  6. if($page==$it){echo $it.'<br>';}else {
  7. $page = mysql_escape_string($page);
  8. mysql_query("INSERT INTO `Page` ( `id` , `Page` ) VALUES ('".$i."', '".$page."')");}
  9. }
  10. function get_content(&$id)
  11. {
  12. $link = "site/info.php?id=$id";
  13. $file_array = file($link);
  14. $text = implode("", $file_array);
  15. return $text;
  16. }
  17. ?>
2. valenok - 26 Декабря, 2008 - 00:49:56 - перейти к сообщению
Изменить базовый шаг цикла
кроме того если проверить на что тратиться сколько большего всего времени - то вы поймете что это на запрос страницы с другого сервера.
Поставьте ограничение на время ожидания,

запустите этот же скрипт параллельно пару раз с разными началами и концами..
Запускайте одну и ту же копию группами по пять.

Тоесть отработал пять - вывел сообщение
+ ДЖскрипт на автоперезапуск через 3 секунды. Уменьшит нагрузку на сервер.

Позицию с которой начинать записывайте в сессии - у каждой копии скрипты другую переменную.
3. Champion - 26 Декабря, 2008 - 08:35:07 - перейти к сообщению
А что вы сделать-то пытались?
4. Ыыы - 26 Декабря, 2008 - 12:58:19 - перейти к сообщению
Intel i7 думаю ускорит ваш чудо скрипт
5. Вездеход - 27 Декабря, 2008 - 14:41:29 - перейти к сообщению
Ыыы
Превосходно
6. Stierus - 29 Декабря, 2008 - 11:37:10 - перейти к сообщению
1. Скачивать страницы мультипоточно с помощью curl.
2. освобождать память
3. Не выполнять столько обращений к базе данных (их куева туча, вы спятили?) В цикле копите запросы и выполняйте их группами все разом не желательно, но по 50 - 200 вполне норм за раз

 

Powered by ExBB FM 1.0 RC1