Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115

Обработка большого объема без нагрузки

14.01.2017, 21:58. Показов 1689. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый ночи ребята помогите с одной проблемой.

У на старом сайте одного проекта есть база в которой находятся больше 5 000 записей (+ фотографии к нему):

Пример того как я построил логику импортирования данных из старого сайта на новых через API, на старом написал просто условие по которому получаю все записи.

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
$old_project = //Собраны все данные
 
 
$max_count = $old_project['other']['max_count'];
 
//получаем старичную навигацию
$count = floor($max_count / 100);
 
for ($i = 1; $i <= $count; $i++)
{
    echo '<b>'.$i.'</b><br />';
  
    //Получаю все записи и собираю в массив
    $news = 'ссылка.ру?page='.$i;  
 
 
     foreach ($news as $key => $value)
     {
        //Тут просто наносился в новую базу
        mysql_query("INSERT ....")
 
         //Тут идет загрузка файлов и все
         if($key == 'images') {}
      }
 
}
Хочу у вас спросить правильно ли делаю, просто эти записи у меня работают но занимают колоссальное время если делаю на локальном хосте. (2-3 часа).


В результате формируется большой массив, и на сервере обычно выдают 504 ошибку, как мне этого избежать чтобы из-за большого массив ни сайт не нагружался ни 504 ошибку не выдавало!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.01.2017, 21:58
Ответы с готовыми решениями:

Вывод большого объема текста echo <<<
echo &lt;&lt;&lt;MARCER Строка1&lt;br/&gt; Строка2&lt;br/&gt; Строка3&lt;br/&gt; MARCER; У меня отмечается ошибка по первой строке и я не могу вывести...

Парсер xml файлов большого объёма
Всем привет! Хочу написать парсер для xml файла размером 15гб на PHP Возможно ли это? У меня не получается считывать файл по частям для...

Обработка большого объема данных
Добрый ночи ребята помогите с одной проблемой. У на старом сайте одного проекта есть база в которой находятся больше 5 000 записей (+...

7
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
14.01.2017, 22:13
Через phpmyamin и adminer можно выгрузить все записи в файл и загрузить в новую базу, необязательно данные через php-скрипт прогонять.

Цитата Сообщение от Toha_ Посмотреть сообщение
база в которой находятся больше 5 000 записей
5000 записей - это очень мало. Не знаю, что скрипт может 2 часа делать...
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
14.01.2017, 22:15
1) не делайте запросы к бд в цикле.
2) получайте записи небольшими кусочками, а не все сразу.
3) увеличьте максимальное время работы скрипта.

И да, 2 часа это действительно долго.
0
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115
14.01.2017, 22:23  [ТС]
Тут проблема вот в чем.

Я после установки соединения с сервером vk, хочу получить список всех записей + фотографии и перекинуть к себе на сервер (грубо горя произвести импортирование).

А с постраничной навигацией получает (на одной странице 50 записей в общем 78 страниц) их надо загрузить так чтобы нагрузка на сайт была минимальной, сможете как та помочь правильно построить массив.

Добавлено через 49 секунд
Вот как мне их загрузить кусочками? 50 записей загрузил (sleep(1000) еще 50 опять.)
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
14.01.2017, 22:40
Цитата Сообщение от Toha_ Посмотреть сообщение
после установки соединения с сервером vk
А vk тут причём?

Цитата Сообщение от Toha_ Посмотреть сообщение
sleep(1000)
1000 секунд? И какой смысл?
0
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115
14.01.2017, 22:42  [ТС]
Jodah, Нельзя ничего придумать, для того чтобы смягчить нагрузку
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
14.01.2017, 22:54
Toha_, для начала нормально описать работу скрипта. Сначала про старый и новый проект говорили, потом выяснилось про sleep(1000) и каким-то боком замешанный вконтакт.

Цитата Сообщение от Toha_ Посмотреть сообщение
чтобы смягчить нагрузку
Как минимум можно объединить несколько insert-запросов в один:
SQL
1
INSERT INTO tablename (id,blabla) VALUES(1,'werwer'),(2,'wqewqe'),(3,'qwewe');
0
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115
14.01.2017, 22:57  [ТС]
Тут прикол в том что сервер перед формированием массива выдает 504 ошибку, а ее нельзя снял я пытался (set_time_out(0 or 10000))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.01.2017, 22:57
Помогаю со студенческими работами здесь

Выгрузка из БД большого объема информации
Всем привет. По сути дела сейчас делаю некий журнал активности для личного кабинета ... Столкнулся с 2 вопросами: 1. Он...

Обработка большого объёма данных (10гб)
Добрый день. Прошу прощения, если пишу не туда или не нашёл ответа через поиск. Суть вопроса. Пришел ко мне заказчик со следующей...

Обработка большого объема данных (теги сайта)
Есть сайт, у него таблица tags 207,168 штук MyISAM utf8_general_ci 16 МБ весом =) нужно их обработать Под...

string большого объёма
Всем привет. Проблема в следующем: пытаюсь ввести в переменную типа string строку размером примерно в 400 000 символов. Однако после...

Установка диска большого объема(6 ТБ)
Виндовс 7 не видит новый диск, хотя в управлении дисками он присутствует.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru