![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#41 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а надо ли вообще парится с соединениями и порядком?
может стоит на стороне клиента склеивать, скажем раз в посекунды, и ставить TimeStamp на стороне клиента. перед отправкой. ибо если вы хотите http, то с такой массой запросов, вы тупо будете время терять на каждый. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#42 | |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]() Цитата:
Я понимаю что запросов может быть немало, учитывая сколько я планирую одновременно работающих таких связок. Я планирую , что сервер выдержит порядка 150+ запросов в секунду. ( ну как сервер ![]() Тут, конечно, палка о двух концах: - С одной стороны если я сделал объединение нескольких кликов сразу для отправки на сервер программой 1, если они были сделаны чаще 1 раза в секунду. Для уменьшения кол запросов. ( Но в программе 2 все равно эти клики не отработаю быстрее чем за 0.8-1 секунду, т.е. программе 2 вообще не нужна скорость быстрее 1 раза в секунду). - С второй стороны, если бы я оставил отправку каждого клика отдельно сразу же как он появляется, то ( если частота более 1 в секунду) этот клик статистически появится раньше на сервере и с определенной вероятностью может раньше прочитаться программой 2. Т.е, быстродействие связки несколько выше в среднем получится. Это все компромисс между скоростью и нагрузкой на сервер. Но, если частота кликов от программы 1 будет не чаще 1 раза в секунду, то алгоритмы работы 2х вариантов будут одинаковые. Я понимаю, что время на отсылку post запросов будет тратиться больше чем его обработка, но это уже проблема касающаяся моей неопытности в применении технологий. Пока что, вариант только с обыкновенными Post запросами. Но микросекунды вроде как не поддерживаются в mysql, ну или по крайней мере в моей версии Mysql 5.5.41 ,а в 5.6.4 вроде уже можно(. П.С. Возможно, я неправильно Вас понял. predefined, по поводу #39 . Да я все это понял. Формировать timestamp или же счетчик буду непосредственно в программе 2 перед отправкой на сервер. По видимому придется через счетчик, так как в микросекундах просто записать в бд не получится из-за версии, ну и придумывать для этого костыли не хочется. Последний раз редактировалось Illusiony; 24.08.2016 в 19:52. |
|
![]() |
![]() |
![]() |
#43 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
Ошибочка в предпоследнем предложении, в программе 2, нужно программе 1
|
![]() |
![]() |
![]() |
#44 | |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
![]() Цитата:
150+ запросов в секунду это совсем не много. Но если будет больше - возможно, потребуется тюнинг сервера (или даже ядра ОС), чтобы он держал большое число коннектов. Последний раз редактировалось predefined; 27.08.2016 в 21:40. |
|
![]() |
![]() |
![]() |
#45 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
predefined, спасибо , но в данный момент этот VPS серверок за 5 баксов используется как резервный для другого проекта, для которого nginx нужен. Сейчас я его использую для этого проекта и в дальнейшем пока хватит "мощности", если не будет хватать перенесу на новый. Для VPS за 5 баксов 150 + запросов в секунду я думаю это нормально и не требует особых наворотов. Да И проект не такого масштаба чтобы уж слишком замарачиваться чтобы сэкономить несколько долларов.
В общем спасибо. Сейчас активно работаю над всем. Последний раз редактировалось Illusiony; 28.08.2016 в 15:52. |
![]() |
![]() |
![]() |
#46 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
predefined,
Кстати, немного не понимаю ваше: DELETE FROM `admin_bd_avtopick` WHERE `unix_time`='$timestamp' в посте #27 Вы наверное имели ввиду `unix_time`<'$timestamp'. У меня сейчас вместо unix_time просто число- счетчик от программы 1 ( назвал n). Я читаю данные поля str_click . Запоминаю в массиве все n, которые прочитал И как правильно составить запрос удалить именно те записи с номерами n этого массива, а не все вподряд. Если просто сделать в цикле удаление каждой записи отдельно то это некрасиво и неправильно. Нужно одним запросом это сделать. Можно, конечно, попробовать запомнить последнюю запись , его n и сделать так: DELETE FROM `admin_bd_avtopick`.`HSCrab_test3` WHERE `n`<='$n' Но правильнее было бы удалить все что прочитал, вдруг программа 1 будет перезапущена и там индексы заново начнутся с 0. И программа 2 удалит все записи в том числе и те что не прочитала( если придет одновременно вставка еще от программы 1) ввиду меньшего индекса. Сделал такое: Код:
Те индексы , которые были прочитаны программой 2 и именно их необходимо удалить Вроде работает, но я не уверен в правильности работы. Так правильно? Последний раз редактировалось Illusiony; 28.08.2016 в 16:40. |
![]() |
![]() |
![]() |
#47 | ||
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
![]() Цитата:
Цитата:
PHP код:
PS: Надеюсь в запросе: WHERE login ='$login' переменная $login обработана от MySQL-инъекций? Все внешние данные, вставляемые в запрос, лучше экранировать через mysqli::real_escape_string. Надёжнее всего использовать PDO вместо mysqli, но меня синтаксис PDO отталкивает своей ненаглядностью. Последний раз редактировалось predefined; 02.09.2016 в 02:43. |
||
![]() |
![]() |
![]() |
#48 |
Форумчанин
Регистрация: 17.02.2014
Сообщений: 881
|
![]()
predefined, На счет:
Код:
На счет : Код:
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать программу, с помощью которой изображение будет разбиваться по пикселям и будет создаваться матрица | andrey4515 | Помощь студентам | 2 | 08.01.2014 18:44 |
Будет ли сервер idTCP работать без веделенного внешнего ip (Delphi Indy) | _PROGRAMM_ | Помощь студентам | 1 | 29.11.2010 13:52 |
какая структура *.icns?? | Ntlegend | Общие вопросы Delphi | 3 | 02.09.2009 01:24 |
Учет оплаты. Какая формула будет если..? | Anton_audit | Microsoft Office Excel | 5 | 12.08.2009 17:40 |
посчитать какая доставка для клинта 10-я? Delphi (Клиент-Сервер) | Vindigo | Помощь студентам | 6 | 27.01.2008 15:28 |