Должна ли СДО быть быстрее чем Yandex??
Я решил снова вернуться к вопросу о производительности LMS. Вроде бы об этом я уже написал все что возможно, но на днях вопрос возник вновь.
Вот какая забавная дискуссия возникла: в процессе обсуждения с одним из клиентов был поставлен вопрос - сможет ли СДО обслужить 10.000 одновременно обучаемых. Я как обычно ответил, что если все 10.000 в одну секунду нажмут на кнопку, то разумеется никакая система с этим не справится, а если они например в течение часа они будут открывать страницы курсов, то это вполне возможно (в зависимости от мощности сервера).
Далее последовал такой обмен репликами:
Клиент: "Ну как же система не справится если в один момент все 10.000 человек на кнопку нажмут? Должна мочь!"
Я: "Так это же нагрузка больше чем на сервера у какого-нибудь Яндекса (у которого кстати не один, а много серверов)"
Клиент: "Не может быть, у Яндекса нагрузка точно намного больше!"
На этом мы закончили обсуждать эту тему, а я задумался, какая же собственно производительность (в запросах в секунду) у того же Яндекса... Как раз недавно мне на глаза попалась статья в Ведомостях о том, сколько поисковых запросов обрабатывают различные поисковые системы.
У Яндекса статистика за декабрь 2007 года - 566 миллионов запросов. Я поделил это число на 31 (количество дней), затем на 24 (количество часов) и затем на 3600 (количество секунд в часе). Получилось 211 запросов в секунду! По статистике самого Яндекса в декабре было 866 миллионов хитов, т.е. 323 запроса в секунду! Разумеется есть пиковые нагрузки (в активные часы) которые могут быть существенно выше.
И это работает на всей могучей инфраструктуре (много серверов и людей) Яндекса! Так почему же клиенты ожидают что СДО за $10.000, стоящая на одном сервере, сможет обработать в 30-50 раз больше запросов чем ведущая российская поисковая система? Как в известном тосте: выпьем же за то, чтобы наши желания совпадали с нашими возможностями :)
Впрочем, скорость работы учебного портала 200-300 RPS (Request per second) я вполне реально наблюдал на нагрузочных испытаниях на нормальном дхупроцессорном сервере с современными двухядерными процессорами. Т.е. почти как у Яндекса :)
PS
Кстати для того, чтобы обслужить 10.000 обучаемых, которые в течение 1 часа равномерно по времени (а не одномоментно) входят в систему и открывают по 50 страниц курсов или портала, достаточно производительности порядка 140 запросов в секунду (всего за час будет обработано 500 тысяч запросов). Этот сценарий использования системы является совершенно реалистичным, т.к. люди не роботы и в одну секунду все зайти не могут.
Вот какая забавная дискуссия возникла: в процессе обсуждения с одним из клиентов был поставлен вопрос - сможет ли СДО обслужить 10.000 одновременно обучаемых. Я как обычно ответил, что если все 10.000 в одну секунду нажмут на кнопку, то разумеется никакая система с этим не справится, а если они например в течение часа они будут открывать страницы курсов, то это вполне возможно (в зависимости от мощности сервера).
Далее последовал такой обмен репликами:
Клиент: "Ну как же система не справится если в один момент все 10.000 человек на кнопку нажмут? Должна мочь!"
Я: "Так это же нагрузка больше чем на сервера у какого-нибудь Яндекса (у которого кстати не один, а много серверов)"
Клиент: "Не может быть, у Яндекса нагрузка точно намного больше!"
На этом мы закончили обсуждать эту тему, а я задумался, какая же собственно производительность (в запросах в секунду) у того же Яндекса... Как раз недавно мне на глаза попалась статья в Ведомостях о том, сколько поисковых запросов обрабатывают различные поисковые системы.
У Яндекса статистика за декабрь 2007 года - 566 миллионов запросов. Я поделил это число на 31 (количество дней), затем на 24 (количество часов) и затем на 3600 (количество секунд в часе). Получилось 211 запросов в секунду! По статистике самого Яндекса в декабре было 866 миллионов хитов, т.е. 323 запроса в секунду! Разумеется есть пиковые нагрузки (в активные часы) которые могут быть существенно выше.
И это работает на всей могучей инфраструктуре (много серверов и людей) Яндекса! Так почему же клиенты ожидают что СДО за $10.000, стоящая на одном сервере, сможет обработать в 30-50 раз больше запросов чем ведущая российская поисковая система? Как в известном тосте: выпьем же за то, чтобы наши желания совпадали с нашими возможностями :)
Впрочем, скорость работы учебного портала 200-300 RPS (Request per second) я вполне реально наблюдал на нагрузочных испытаниях на нормальном дхупроцессорном сервере с современными двухядерными процессорами. Т.е. почти как у Яндекса :)
PS
Кстати для того, чтобы обслужить 10.000 обучаемых, которые в течение 1 часа равномерно по времени (а не одномоментно) входят в систему и открывают по 50 страниц курсов или портала, достаточно производительности порядка 140 запросов в секунду (всего за час будет обработано 500 тысяч запросов). Этот сценарий использования системы является совершенно реалистичным, т.к. люди не роботы и в одну секунду все зайти не могут.