помогите понять что не так
Свернутый текст
PHP |
header('Content-Type: text/html; charset=UTF8'); |
скрипт выберет с базы ссылки парсит их и удаляет сохраняя результат парсинга в документ с текущей датой
Спустя 13 минут, 5 секунд (11.09.2009 - 17:59) Nikitian написал(а):
Нагрузка от базы или веб-сервера?
Сколько записей в таблице lentlink? Если их там очень много (тысячи в данном случае уже много), то имеет смысл разбить на части проверку: при проверке брать сотню записей с минимальной временной меткой, помечать их текущим временем, либо брать по сколько-нибудь пока время не будет подходить к концу.
В цикле for функции text() сделайте usleep(300);
Делиты вынесите а конец скрипта и делайте их одним запросом
Сколько записей в таблице lentlink? Если их там очень много (тысячи в данном случае уже много), то имеет смысл разбить на части проверку: при проверке брать сотню записей с минимальной временной меткой, помечать их текущим временем, либо брать по сколько-нибудь пока время не будет подходить к концу.
В цикле for функции text() сделайте usleep(300);
Делиты вынесите а конец скрипта и делайте их одним запросом
SQL |
delete from tbl where id in (1,3,45,6,8,3,56,7) |
Спустя 4 минуты, 33 секунды (11.09.2009 - 18:03) Magikan написал(а):
в базе обчно за день около 300 линков
и нагрузка идет на процессор от сервера
и нагрузка идет на процессор от сервера
Спустя 2 минуты, 47 секунд (11.09.2009 - 18:06) Nikitian написал(а):
Выбирайте за раз по 50 ссылок, нагрузка будет меньше. Ну и про остальные рекомендации не забывайте
Спустя 1 час, 21 минута, 47 секунд (11.09.2009 - 19:28) FatCat написал(а):
preg_match_all и preg_match жрут немеряно ресурсов и для парсинга совершенно непригодны.
Где-то я писал уже результаты моих сравнительных тестов производительности использования регулярок, explode и substr - к моему удивлению substr дала снижение потребления ресурсов на 3 порядка, а скорость выполнения операции возросла на 2 порядка.
Например:
Где-то я писал уже результаты моих сравнительных тестов производительности использования регулярок, explode и substr - к моему удивлению substr дала снижение потребления ресурсов на 3 порядка, а скорость выполнения операции возросла на 2 порядка.
Например:
PHP |
preg_match_all("/<p>([^~]*?)<\/p>/",$temp,$text); |
- даст нам массив текстов абзацев.
То же самое при помощи substr выглядит не столь элегантно, но работает на 2 порядка быстрее:
То же самое при помощи substr выглядит не столь элегантно, но работает на 2 порядка быстрее:
PHP |
$temp = array(); |
Спустя 5 часов, 51 минута, 47 секунд (12.09.2009 - 01:20) FatCat написал(а):
Еще менее элегантно и еще экономичней будет не гонять текст по символу между двумя переменными, а лишь менять позиции в substr.
Но пока размер текстового блока не превышает нескольких мегабайт, это не существенно, а код становится менее понятным и более трудным в отладке в случае возникновения ошибок.
Но пока размер текстового блока не превышает нескольких мегабайт, это не существенно, а код становится менее понятным и более трудным в отладке в случае возникновения ошибок.
Спустя 12 дней, 19 часов, 10 минут, 16 секунд (24.09.2009 - 20:30) Den Laden написал(а):
От функций для работы с регулярками вроде preg_match нужно переходить на обычные строковые. Регулярки нужно использовать при очень сложных выборках из текста либо при маленьких обьемах онного.