Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518

Как увеличить производительность сайта в облаке

20.07.2016, 18:27. Показов 1703. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Гуру, обьясните "на пальцах"! У меня (пока) теоретический вопрос!

Есть проект на дешевом хостинге (одно ядро, мало памяти, обычная база MySQL).
Выдерживает около 4-5 тяжелых операций в минуту (в основном заливка больших данных в базу MySQL). Это 2-4 одновременно обратившихся пользователя в минуту.
Как увеличить производительность перенеся ПОДОБНЫЙ сайт в облака???
Например раз в 10-100... Например перенеся свой хостинг в облако Amazon...

Что дает облако? База будет быстрее добавлять записи? Если докуплю еще 100 ядер и еще 200Гб памяти - это ускорит работу с базой?

...представляю как "нарезать" подобный процесс на отдельные сервера (выделить по одному серверу на 20-100 пользователей и выделить "общий" сервер "переадресации"), но не на одном "связанном" сервере...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.07.2016, 18:27
Ответы с готовыми решениями:

Увеличить производительность сайта
Всем привет, который день бьюсь и не могу никак прокачать показатель производительность сайта. Проверка системы показывает все успешно ...

Как хранить фото на облаке для WP сайта?
Добрый день всем. Есть сайт на wordpress на котором находится очень много фото которые очень сильно давят на хостинг. У меня вопрос по...

Как увеличить производительность
Докупал кингстон 2ГБ, тоже 1333МГц. Какую нужно докупить планку а может лучше две чтобы повысить мощьность производительности компьютера? ...

20
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
20.07.2016, 19:53
Цитата Сообщение от Tester64 Посмотреть сообщение
Как увеличить производительность перенеся ПОДОБНЫЙ сайт в облака???
ваш сайт не является облаком? вы запускаете на домашнем компьютере без выхода в интернет?

Добавлено через 2 минуты
Цитата Сообщение от Tester64 Посмотреть сообщение
Если докуплю еще 100 ядер и еще 200Гб памяти - это ускорит работу с базой?
дешевле нанять курьеров
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
20.07.2016, 19:58
Цитата Сообщение от Tester64 Посмотреть сообщение
Как увеличить производительность перенеся ПОДОБНЫЙ сайт в облака???
Например раз в 10-100
Заказать VPS производительней раз в 10-100.

Цитата Сообщение от Tester64 Посмотреть сообщение
Что дает облако? База будет быстрее добавлять записи?
Под облаком вы имеете ввиду облачные базы данных?
Нужно тестировать, либо как минимум можно сравнить, сколько ресурсов они предоставляют.

Цитата Сообщение от Tester64 Посмотреть сообщение
Если докуплю еще 100 ядер и еще 200Гб памяти - это ускорит работу с базой?
Конечно.

Цитата Сообщение от Tester64 Посмотреть сообщение
...представляю как "нарезать" подобный процесс на отдельные сервера (выделить по одному серверу на 20-100 пользователей и выделить "общий" сервер "переадресации"), но не на одном "связанном" сервере...
Вы уверены, что вам это нужно?
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2016, 01:46  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Под облаком вы имеете ввиду облачные базы данных?
Возможно.... я еще немного плаваю в терминологии! Я имел в виду "облачные хостинги", а не только базы!

Возможно проще будет если я детальнее обьясню задачу:
Сейчас пишу сервис, который от одних клиентов получает большие базы данных (десятки-сотни тысяч записей за раз в текстовике, в архиве) и хитро раскидывает их по базам на сервере.
Потом на основе этих записей формируются и выгружаются отчеты. Я и так максимально ускорил процесс импорта в базы, но все равно не получается это сделать меньше чем за 12-18 секунд на локальном хостинге который куда мощнее дешевых... (и транзакции, и "пакетные заливки", и даже укоротил код, убрав критические проверки - опасно, но целых 4-6 секунд экономлю! Осталось лишь "втроенные в MySQL функции" использовать).
И это только для одного (тестового) юзера! Если "повезет" и в одну минуту "ломанутся" 10 юзеров - PHP-сервер выдаст всем таймаут!
Пытаюсь разработать концепцию "очереди" и просчитать/посадить обработку очереди на Node.js/Pyton (там можно залить базу, а сервис сам решит когда ее стоит обрабатывать), но это не решит проблему сервера! Да и клиент не должен долго ждать!
Если делать сервис с учетом 1К-10К-юзеров способных залезть почти одновременно ("хабраэффект"), то надо кардинально подход менять и хостинг тоже учитывать!

Сейчас "торможение" происходит именно на этапе заливки (все остальное - миллисекунды). Основные блоки - найти запись, прочитать ее, проверить поля на изменения, добавить новые или изменить старые в зависимости от условий... На 15-40 тысяч записей сильно тормозит!!! Но может быть и больше... И "заливающий клиент" не один...

Если нагрузка вырастит в 1000 раз, а я в 1000+1 раз увеличу в таком "облаке" характеристики процессора и памяти - система выдержит? Или надо на другой тип базы данных переписывать - под сервер "предоставленный облачным хостингом"?

Пока это конечно теоретические вопросы, но я не уверен что сейчас система выдержит даже 10-кратного повышения нагрузки! Ищу решения...

Слышал что Амазон (и аналоги) дают "динамические" сервера - "надо больше - бери - заплатишь за больше", но сам пока из подобного ничего не использовал!

2wq не смешно!
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
21.07.2016, 07:52
Цитата Сообщение от Tester64 Посмотреть сообщение
Пытаюсь разработать концепцию "очереди" и просчитать/посадить обработку очереди на Node.js/Pyton (там можно залить базу, а сервис сам решит когда ее стоит обрабатывать)
Зачем? И через PHP можно сделать. Сохраняете файл в папку с необработанными файлами, добавляете запись об этом файле в БД. И затем по крону постепенно каждый файлик обрабатываете.

Цитата Сообщение от Tester64 Посмотреть сообщение
Если нагрузка вырастит в 1000 раз, а я в 1000+1 раз увеличу в таком "облаке" характеристики процессора и памяти - система выдержит?
Не могу дать конкретный ответ на такие абстрактные данные.

Цитата Сообщение от Tester64 Посмотреть сообщение
Или надо на другой тип базы данных переписывать - под сервер "предоставленный облачным хостингом"?
Я не понимаю, о чём вы.

У вас сервер. В облаке тоже сервер. В обоих случаях вам предоставляются какие-то ограниченные ресурсы. Сколько ресурсов хотите - столько и покупаете, неважно где.
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
21.07.2016, 18:16  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Зачем? И через PHP можно сделать. Сохраняете файл в папку с необработанными файлами, добавляете запись об этом файле в БД. И затем по крону постепенно каждый файлик обрабатываете.
Думал об этом...
1) У "циклической" программы на Ноде/Питоне не бывает задержек! Крон требует хотя-бы секунду ждать до следующего раза. А значит пол секунды приходиться ждать... Или будет каждую секунду выполнять скрипт проверки базы (нода может держать списки "в памяти" - питон думаю тоже)
2) Очередь есть очередь. И не важно на чем она написана! Надо дождаться завершения прошлой задачи, убедиться что она закончилась и стереть запись в очереди. В идеале отправить сигнал пользователю об окончании обработки (через сокеты ноды это сделать куда "экономнее"). А еще надо обработать нормальный таймаут - вдруг глюк и скрипты зависнут.
3) Надо учитывать многопоточность - некоторые задачи чисто математические - их можно одновременно выполнять. Например 4 задачи одновременно в обработке удерживать (по количеству ядер).

Цитата Сообщение от Jodah Посмотреть сообщение
Не могу дать конкретный ответ на такие абстрактные данные.
Еще раз...
1) Надо выполнить 60-100 тысяч SQL запросов в одном обращении к php-скрипту (и на запрос и на запись).
2) Это занимает на среднем компе 8-15 секунд (не на самой большой базе).
3) Если в одну минуту залезут 100-1000 юзеров, то скорее всего получу таймаут на все запросы (8*100>800, а таймаут через 30-60 сек).

В идеале хочу купив хостинг "в облаке" добиться того что каждого юзера будут обрабатывать не дольше 15 секунд в не зависимости от количества обращений юзеров... Такое вообще возможно на таких хостингах?

Я не до конца понимаю принципы MySQL в облаке (на нескольких "связанных" серверах), с общим кешированием запросов, удержанием частых обращений в памяти и т.д... У меня десяток таблиц, но в каждой таблице могут быть данные баз по тысяче юзеров (разделяются полем "user_id"). Как увеличение ядер до 30 в облачном хостинге может подобное ускорить??? и во сколько раз?

Цитата Сообщение от Jodah Посмотреть сообщение
>>Или надо на другой тип базы данных переписывать - под сервер "предоставленный облачным хостингом"?
Я не понимаю, о чём вы.
Я так понял, что некоторые облачные хостинги разработали свои вариации "облачных баз данных". (согласно https://habrahabr.ru/company/cloudsnn/blog/148483/)
Как это отобразиться на моем коде в PHP при обращении к такой базе данных? Там свое API работы с базой, или API осталось от MySQL?
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
21.07.2016, 18:25
Цитата Сообщение от Tester64 Посмотреть сообщение
1) Надо выполнить 60-100 тысяч SQL запросов в одном обращении к php-скрипту (и на запрос и на запись).
2) Это занимает на среднем компе 8-15 секунд (не на самой большой базе).
здесь явно не средний комп и данные написаны от балды
Tester64, хотите большей производительности
1. Анализ лога медленных запросов, оптимизация запросов
2. Перенос базы данных, таблиц в память сервера, использование Memory таблиц
3. Использование кеширования
каждая задача, проект требует своего подхода
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
22.07.2016, 02:27  [ТС]
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
здесь явно не средний комп и данные написаны от балды
Tester64, хотите большей производительности
1. Анализ лога медленных запросов, оптимизация запросов
2. Перенос базы данных, таблиц в память сервера, использование Memory таблиц
3. Использование кеширования
каждая задача, проект требует своего подхода
А как подобное вообще делают?
Я думал все это уже предусмотрено в "облачных хостингах" и сделано так чтобы кодеры вроде нас не должны были сильно заморачиваться с оптимизацией!

1) уже проделал! запросы свел к минимуму. Там где это возможно заменил все одним. Даже использую пакетную отправку через $db->multi_query($sql_global), где в $sql_global зажато около 20 тысяч запросов INSERT INTO table1 () VALUES () ON DUPLICATE KEY UPDATE. Так я сократил импорт с 40-60 секунд до 7-14. Следующий шаг оптимизации - это уже писать встроенные функции MySQL. И таблицы довольно оптимизированны по полям, и индексов добавил ровно столько сколько нужно

2) как подобное делается? Типа виртуальный диск в памяти и база на нем? С последующей синхронизацией на реальный диск? Проблема в том что подобные большие выгрузки делаются каждой фирмой не чаще 1-3 раз в сутки. Иногда 1 раз в 3-7 дней. Неужели надо все это в памяти хранить??? На всех юзеров? С Memory таблицами не разобрался! В чем разница от MySQL таблиц?

3) я за! но не понимаю как к этому подойти! Куда гуглить? И опять-же... я думал все это предусмотрено в "облачных хостингах"

Я думал что если я перевожу свой сервер в облако, то могу "раздуть" свой проект хоть до 100 ядер и до терабайта памяти... а значит и проект будет работать АВТОМАТИЧЕСКИ в 50-100 раз быстрее... по крайней мере на 100 одновременных юзерах... А тут похоже ничего не получаю от облака кроме ускорения чисто математических операций и требующих памяти...

Добавлено через 2 часа 36 минут
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
данные написаны от балды
только сейчас "врубился"...
Цифры РЕАЛЬНЫЕ! Тестировал на одном МАЛЕНЬКОМ клиенте. (торговая фирма). Записей было 20-25тысяч. Лично знаю клиента у которого данных в 50-100 раз больше.
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
22.07.2016, 10:49
1. В настройках mysql включение лога медленных запросов. Далее с помощью Explain просмотр выполнения запросов и оптимизация использованных индексов
2. Смотрите тип таблиц Memory
3. Кеширование может быть разное, как модуль для mysql так и использование на уровне приложений memcache, redis ...
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
22.07.2016, 20:51  [ТС]
Цитата Сообщение от Fedor Vlasenko Посмотреть сообщение
1. В настройках mysql включение лога медленных запросов. Далее с помощью Explain просмотр выполнения запросов и оптимизация использованных индексов
2. Смотрите тип таблиц Memory
3. Кеширование может быть разное, как модуль для mysql так и использование на уровне приложений memcache, redis ...
Опять уходите от темы!
1) УЖЕ проделал! (см. выше). Осталось не опробованным лишь "втроенные процедуры MySQL".
2) а зачем??? Суть в чем:
получить новые данные по записи от клиента (перебором полученного пакета в несколько тесяч записей)
поискать такую строку в таблице
если есть, сравнить по значениям
если не изменилось - берем следующую строку
если новая - добавить строку в 1-2 таблицы
если изменилась - изменяем в 1-2 таблицах
(итого 8-100 тысяч запросов на чтение или изменение)

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

3) я вообще-то расчитывал на кеширование на уровне MySQL+облака! Типа там все встроено, ускорено, оптимизированно...
10 потоков на работу с базой на 10 виртуальных процессорах обрабатывает со скоростью как на одном...

Короче! кончайте мне "помогать" оптимизировать мою задачу!
Ответьте внятно наконец на вопрос - что МНЕ (кодеру php+MySQL) даст ОБЛАЧНЫЙ хостинг вроде Амазона???

Я уже понял что никакая оптимизация не поможет мне ускорить на обычной машине заливку такого обьема данных, если тормозит на "i3", а обьемы планируются в 100-1000 раз больше!
Я уже понял что нужно НЕСКОЛЬКО серверов! (в час пик)
Теперь вопрос - писать "нарезку на сервера" самому и покупать несколько хостинг-серверов или все то-же УЖЕ встроено в один "ЕДИНЫЙ" виртуальных "облачный" хостинг уровня Амазон???
Мне некогда, (да и нечем пока) проводить тесты на выносливость амазона! Мне нужна сначала ТЕОРИЯ этих серверов, чтобы начать "вычитывать"/гуглить!

Для чего их вообще делают???
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
22.07.2016, 21:31
Tester64, к чему эти эмоции?
Цитата Сообщение от Tester64 Посмотреть сообщение
Ответьте внятно наконец на вопрос - что МНЕ (кодеру php+MySQL) даст ОБЛАЧНЫЙ хостинг вроде Амазона???
Я уже ответил, любой облачный хостинг предоставляет ресурсы. Больше платите - больше ресурсов получаете.
Если вам этого объяснения мало, зайдите сюда (к слову, первая ссылка в гугле), там всё написано, и даже про максимальное количество операций ввода-вывода в секунду.

Если мало и этого - звоните/пишите в техподдержку амазона, они вам всё подробно разжуют.
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
22.07.2016, 23:20  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
любой облачный хостинг предоставляет ресурсы. Больше платите - больше ресурсов получаете.
То есть, "таки да"??? Если мне надо ускорить "параллельную/многопоточную работу с базой данных" в N раз, то я просто покупаю хостинг амазона "побыстрее" в N+10 раз? И при этом юзеры не чуствуют что "просел" сервер при увеличении количества посетителей?

Если я перенесу свою программу (php+MySQL) "в облака", то оно СРАЗУ заработает в 10-100 раз быстрее на параллельных запросах или мне предстоит еще переписать свою программу "под базы амазона"?

Еще раз:
СЕЙЧАС - один вызов скрипта выполняется 7-15 секунд на одноядерном хостинге. Если 4 одновременных запроса отправляю - думает над всеми в 4 раза дольше выходя за лимит в 30 сек и получаю таймаут!
ХОЧУ - чтобы 100 одновременных php скриптов от разных юзеров думали не дольше 7-15 секунд!

Цитата Сообщение от Jodah Посмотреть сообщение
Если мало и этого - звоните/пишите в техподдержку амазона, они вам всё подробно разжуют.
Очень тяжелое (для новичка) "чтиво" на амазоне! (я хостинги раньше не настраивал - это за меня это делали, а теперь даже проконсультироваться не с кем).
Хочу понять основы, прежде чем задавать ТУДА глупые вопросы...

Не по теме:

Пока даже зарегистрироваться на амазоне не получилось! :(
"застрял" на "подтверждении личности звонком" - звонок прошел, я их почти не слышал, набрал цифры с экрана, 3 раза безуспешно - похоже они тоже "не слышат" (обычно это ЛУЧШАЯ слышимость по стране).
Попробовал дать другого оператора, но они забанили меня на 12 часов...
Пока рано звонить в тех-поддержку!

0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
23.07.2016, 00:20
Цитата Сообщение от Tester64 Посмотреть сообщение
То есть, "таки да"??? Если мне надо ускорить "параллельную/многопоточную работу с базой данных" в N раз, то я просто покупаю хостинг амазона "побыстрее" в N+10 раз?
Если нужно ускорить работу скриптов - покупаете больше ресурсов. Про соотношение N => N + 10 - это слепые гадания, никто таких гарантий не даст.

Цитата Сообщение от Tester64 Посмотреть сообщение
или мне предстоит еще переписать свою программу "под базы амазона"?
Не знаю, не пользовался их сервисом.

Цитата Сообщение от Tester64 Посмотреть сообщение
выходя за лимит в 30 сек и получаю таймаут!
Лимит можно увеличить.

Цитата Сообщение от Tester64 Посмотреть сообщение
а теперь даже проконсультироваться не с кем
Можно проконсультироваться у тех, кто продаёт нужную вам услугу.

Цитата Сообщение от Tester64 Посмотреть сообщение
Очень тяжелое (для новичка) "чтиво" на амазоне!
Провайдеров полно, гуглите "аренда сервера", пример. Там же за деньги можно заказать администрирование (настройку сервера и т.п.).
1
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
23.07.2016, 01:30  [ТС]
Спасибо! думаю основы понял... дальше буду вычитывать и пробовать. Думаю вопрос можно закрывать!

Цитата Сообщение от Jodah Посмотреть сообщение
Лимит можно увеличить.
Можно, но как вы понимаете, в моем случае это не сильно поможет! 30 секунд на 4х запросах! А я планирую (мечтаю) больше 100!

Цитата Сообщение от Jodah Посмотреть сообщение
Про соотношение N => N + 10 - это слепые гадания, никто таких гарантий не даст.
Это понятно! Просто слышал про амазон что там есть понятие ДИНАМИЧЕСКАЯ нагрузка - больше клиентов - больше ресурсов выделяется... АВТОМАТИЧЕСКИ! Поэтому так и заинтересовался "облаками" (против "привычных" выделеных серверов)

Я должен САМ научиться настраивать хостинг! Надоело зависеть в мелочах от админов, когда тебе даже пароль надо изменить или прописать новые настройки в nginx...
Дальше наверное буду задавать вопросы в ветке https://www.cyberforum.ru/hosting/
может кто там работал с амазоном...
0
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
24.07.2016, 22:01
Тысячи(сотни тысяч) запросов из клиента к бд делает дилетант не понимающий элементарных основ проектирования
0
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
25.07.2016, 15:00  [ТС]
Цитата Сообщение от wq Посмотреть сообщение
Тысячи(сотни тысяч) запросов из клиента к бд делает дилетант не понимающий элементарных основ проектирования
Тогда расскажи как бы ТЫ сделал подобную задачу (я ее несколько раз выше описал).
0
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
25.07.2016, 15:29
еще раз
Цитата Сообщение от Tester64 Посмотреть сообщение
Надо выполнить 60-100 тысяч SQL запросов в одном обращении к php-скрипту (и на запрос и на запись).
Что-то подсказывает что
Цитата Сообщение от Tester64 Посмотреть сообщение
я еще немного плаваю в терминологии
возможно все-таки требуется сохранить 60-100 тысяч записей в базе, а не выполнить 60-100 тысяч SQL запросов? Вы говорите что нужно выполнить именно такое количество запросов со стороны одного клиента. Я вам говорю что это бред. Вы ругаетесь. Пускай знающие люди приведут пример системы в которой один запрос клиента инициирует 100т.SQL запросов... Толком вы задачу не объяснили, а только напираете на то что нужно именно такое количество запросов. Если заплатите бабки - все заработает. Если приложите ум - все заработает на порядки быстрее и бесплатно. Насчет конструктива: стараются уменьшить количество передаваемых запросов, а тяжелую обработку проводить на сервере средствами SQL. Этот примитивный язык при правильном использовании может дать прирост производительности в тысячи раз.
Уже бы давно привели кусок скрипта где вы делаете 100т запросов на чтение и запись. Уверен что все сокращается до одного-двух SQL запросов
0
25.07.2016, 19:22  [ТС]

Не по теме:

Цитата Сообщение от wq Посмотреть сообщение
Пускай знающие люди приведут пример системы в которой один запрос клиента инициирует 100т.SQL запросов...
Я уже приводил задачу... Ладно уточню!(Хотя не должен! обычно подобное- это коммерческая тайна)

Надо из учетной системы клиента выгрузить на сайт всех клинетов и все товары со списком всех цен по нескольким категориям (оптовая, розничная, супероптовая, для мастеров, ... в моей тестовой МАЛЕНЬКОЙ базе таких АКТИВНЫХ категорий всего 9, а знаю фирму, где их больше 20, а в маленьком супермаркете видов товаров больше 100тыс(личный опыт) и минимум 2 цены(>300тыс)).

тестовая задача: у меня всего 1000 клиентов, всего 6000 товаров, всего 6000*9 цен (а это маленькая база). И это не предел "видов записей" - дальше планируется рост сложности. Бывают и "вип-цены" и скидки по группам товаров и много чего другого, что тоже надо выгрузить.
Выгрузка идет одним архивом с кучей текстовиков или xml файлом. Файл достигает иногда нескольких мегабайт.
Надо: пропарсить файл и для каждой записи
проверить наличие в базе на сервере
1) если нет - сразу создать новую (insert) и добавить (insert) в "таблицу изменений" дату и источник.
2) если есть - проверить (select) на отличие по группам полей и внести изменения(update) в таблицу + (insert/update) добавить/изменить дату внесения и источник в "таблицу изменений".
(подсчитал количество запросов на каждую запись - на чтение и запись?)

я еще ничего не сказал про ежедневные продажи и документы по ним... база пока даже не доросла до подобных нагрузок!

"таблица изменений" нужна для того чтобы выгружать запрашиваемым лишь те что изменились - запрашиваемые потом отправляют маркер "скачано" и таблица изменений очищается - так я сокращаю выгрузки иногда в десятки раз - устройства у запрашиваемых медленные и полный пакет может грузиться не секунды, а до 15 минут.

Задача ясна? фирм на сегодня 4. Выгрузка идет раз-два в сутки. В идеале должно быть около 5-15 раз в сутки в рабочее время. Затягивание пакета в базу длится 7-15 секунд (после того как я цены выкинул из "таблицы изменений" заменив на "пакетный импорт" через "INSERT INTO table1 () VALUES () ON DUPLICATE KEY UPDATE" ). А система должна быть рассчитана (в идеале) на сотни-тысячи фирм, которые могут "ломануться" одновременно в первые 5 минут после обеда...

p.s. на крупных фирмах с филиалами или дистребьютерах подобное часто используется! Правда обычно без отдельного сервера, а прямо в учетных программах. Я пытаюсь написать аналитику прямо на веб-сервере и мне нужна общая оптимизация.... А ты трижды засорял мою тему комментариями не по делу!!!

Цитата Сообщение от wq Посмотреть сообщение
я еще немного плаваю в терминологии
я плаваю в терминологии облачных серверов, интенсах, виртуальных серверах, микроинстансах, архивных лентах, облачных базах данных, EC2, EBS, S3 и т.д...

0
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
25.07.2016, 21:00
Цитата Сообщение от Tester64 Посмотреть сообщение
подсчитал количество запросов на каждую запись - на чтение и запись?
Три sql запроса для твоей задачи нужно
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
25.07.2016, 21:49
Цитата Сообщение от Tester64 Посмотреть сообщение
сотни-тысячи фирм, которые могут "ломануться" одновременно в первые 5 минут после обеда.
Можно реализовать очередь задач. Т.е. клиент просто заливает архив, а скрипт по cron'у уже парсит его.

Не по теме:

И да, вам правильно говорят, отдельный запрос на каждую запись это бред.

Цитата Сообщение от Tester64 Посмотреть сообщение
в тонкостях облачных хостингов
Так то это раздел php, а тонкости облаков надо узнавать у создателей этих облаков)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.07.2016, 21:49
Помогаю со студенческими работами здесь

Как увеличить производительность программы?
Доброе время суток) Ранее я думал, что многопоточность программы увеличивает ее скорость, но ошибался.. (тоже, смотря что делать.. если...

Как увеличить производительность компьютера?
Как увеличить производительность компа? CPU - Intel Celeron 2.1GHz (разгоняю до 2.5) Видюха - ATI Radeon X1650 Series и ATI Radeon...

Как увеличить производительность работы?
Чтобы делать дела больше и быстрее?

Как бюджетно увеличить производительность?
Доброго времени суток. Представляю вашему вниманию свою сборку домашнего ПК. Материнская плата: ASRock N68C-GS FX ЦП: HexaCore AMD...

Как увеличить производительность проца?
какие способы существуют? виртуально, а не физически Добавлено через 2 минуты КАК РАЗОГНАТЬ? Добавлено через 5 минут я так...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru