Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2012, 15:53   #1
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
Вопрос про microtime

microtime возвращает метку времени с микросекундами, т.е. можно засекать выполнение кода.
Если выполнение определенной части кода (запроса к бд) возвращает 0.012692213058472 сек, то что это значит?
Что мой сервер полностью загружен или ждет ответа в течении 0.012 сек? Если так, то при одновременной попытке загрузки 83 (1сек/0.012сек) пользователями в секунду мой сервер будет перенагружен и очередь обработки будет бесконечно пополняться?
Pamparam вне форума Ответить с цитированием
Старый 31.08.2012, 16:10   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

да нет....
пользователи ж в очередь не становятся.... для каждого стартует новая сессия, независимо от других .. при большом количестве просто может это время (0.12с) увеличиваться
ADSoft вне форума Ответить с цитированием
Старый 31.08.2012, 16:18   #3
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Я же написал, что если за одну секунду произойдет количество обращений, в сумме превышающее время выполнения кода.
для вас: если в течении некоторого времени будет стартовать столько сессий в секунду, при которых время выполнения превысит 1 секунду, что произойдет?

Последний раз редактировалось Pamparam; 31.08.2012 в 16:22.
Pamparam вне форума Ответить с цитированием
Старый 31.08.2012, 16:39   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

да не связаны они! поймите это!
тут нет очереди, то есть вторая сессия запускается не дожидаясь окончания первой! Ну превысит время выполнения какого то скрипта для какого то пользователя секунду и что? Конечно сервер не резиновый, но тут нужно оперировать понятиями сервера - макс кол-во подключений, %использования проца, памяти итд .. оттуда и рассчитывается макс. кол-во
ADSoft вне форума Ответить с цитированием
Старый 31.08.2012, 16:47   #5
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
да не связаны они! поймите это!
тут нет очереди, то есть вторая сессия запускается не дожидаясь окончания первой!
мде, Попробую еще раз:
Если в СЕКУНДУ стартанет 2 сессии, которые выполняются по 1 секунде!
если в литровую банку одновременно налить 2 литра воды
Что произойдет???
Pamparam вне форума Ответить с цитированием
Старый 31.08.2012, 16:52   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

мде-мде....
сервер не банка!!!! они выполняются ПАРАЛЛЕЛЬНО... время не суммируется!
скажем так: сервер - ванна, а каждая сессия скрипта - банка с объемом 0.5, некоторые 0.6 или 0.4 л..... если начать их одновременно или в течении секунды выливать- ванна не переполнится. Конечно переполнится если их очень много, но не по временным причинам... а из-за нехватки ресурсов(сточной трубы например)
ADSoft вне форума Ответить с цитированием
Старый 31.08.2012, 16:55   #7
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

в 1 посте указал, что происходит обращение к БД
хотите сказать, что в БД нет ни какой очереди??
Pamparam вне форума Ответить с цитированием
Старый 31.08.2012, 17:06   #8
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

в бд есть..., но там некая параллельность тоже существует. Просто я не понимаю вашего сравнения с 1 секундой... что вы в неё уперлись? на то очередь и есть - чтобы выполниться тогда, когда подойдет очередь
ADSoft вне форума Ответить с цитированием
Старый 31.08.2012, 18:13   #9
Pamparam
Форумчанин
 
Регистрация: 08.11.2009
Сообщений: 225
По умолчанию

на самом деле, параллельно может выполняться только кол-во процессов = количеству ядер в процессоре, а все остальное всегда находится в очереди, параллелизм реализован только самой ОС.
Цитата:
Просто я не понимаю вашего сравнения с 1 секундой... что вы в неё уперлись? на то очередь и есть - чтобы выполниться тогда, когда подойдет очередь
Если с каждой секундой одинаково будет пополняться очередь, которая еще не закончилась, то она будет стремиться к бесконечности.
Если у вас все так просто и в одну секунду могут выполниться 2 операции, длиной по 1 секунде, то почему эта каждая операция не может выполниться по отдельности за 0.5 секунды?
По вашей логике, если запустить одновременно 100 одинаковых операций, то время их выполнения будет = если запустить только одну из них. Такой процессор нерационально использует свои ресурсы.
Pamparam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Негативные анекдоты про Россию и про всё в ней происходящее... Ваше мнение? Вадим Мошев Свободное общение 16 26.09.2011 08:02
[Turbo Pascal] - задачи про подбрасывание монеты и про определение истины. Sent Tools Помощь студентам 10 28.10.2010 18:11
Вопрос про Свойство Visible и про иконки в imagelist Kappi4 Компоненты Delphi 2 21.05.2010 13:10
Реальна ли Вилка :) /*Я про букмекеров, а не про матрицу :d */ Izhic Свободное общение 14 10.11.2009 13:39
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24