Вопрос из теста

Все, что вы хотели знать о программизме, но боялись спросить.
meser
Маньяк
Сообщения: 2026
Зарегистрирован: 13 мар 2007, 22:55

Вопрос из теста

Сообщение meser »

Товарищ мой, начинающий уеб-программист, ходил на интервью, где среди прочих вопросов имелся такой:

How would you design a server that has to process a several requests per second? What if you didn't know how many requests you'd be getting? What if requests had different priorities?

Удовлетворительно ответить он не смог и решил меня спросить. Я начал было с жаром рассказывать про оптимизацию параметров апача, а потом остановился и призадумался - вопрос-то не к сисадмину. А что сообщество думает?
tasko
Графоман
Сообщения: 18705
Зарегистрирован: 20 июл 2003, 09:16
Откуда: Торонто

Re: Вопрос из теста

Сообщение tasko »

meser писал(а): Я начал было с жаром рассказывать про оптимизацию параметров апача, а потом остановился и призадумался - вопрос-то не к сисадмину. А что сообщество думает?
Если копания маленькая, то требуется и жнец и на дуде игрец.

Ну и потом запросто могли задать вопрос в сторону.
Такое бывает, и очень часто.
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Вопрос из теста

Сообщение Marmot »

meser писал(а):Товарищ мой, начинающий уеб-программист, ходил на интервью, где среди прочих вопросов имелся такой:

How would you design a server that has to process a several requests per second? What if you didn't know how many requests you'd be getting? What if requests had different priorities?

Удовлетворительно ответить он не смог и решил меня спросить. Я начал было с жаром рассказывать про оптимизацию параметров апача, а потом остановился и призадумался - вопрос-то не к сисадмину. А что сообщество думает?
может вопрос все-таки был про several thousands requests per second?
meser
Маньяк
Сообщения: 2026
Зарегистрирован: 13 мар 2007, 22:55

Re: Вопрос из теста

Сообщение meser »

Marmot писал(а): может вопрос все-таки был про several thousands requests per second?
А это разве дизайном решается? Про лоад-балансинг и мульти-тредность он ни слухом, не духом.
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Вопрос из теста

Сообщение Marmot »

meser писал(а):
Marmot писал(а): может вопрос все-таки был про several thousands requests per second?
А это разве дизайном решается? Про лоад-балансинг и мульти-тредность он ни слухом, не духом.
А разве тут вообще что-то решается дизайном ?
meser
Маньяк
Сообщения: 2026
Зарегистрирован: 13 мар 2007, 22:55

Re: Вопрос из теста

Сообщение meser »

Marmot писал(а): А разве тут вообще что-то решается дизайном ?
Вот это меня в тупик и поставило. Вопрос-то пхп программисту. Я даже не совсем понимаю про количество запросов - это что, кол-во гетов по одному тисипи коннекшн или количество уникальных тисипи конекншн в секунду?
meser
Маньяк
Сообщения: 2026
Зарегистрирован: 13 мар 2007, 22:55

Re: Вопрос из теста

Сообщение meser »

Чушь спорол. Геты здесь, конечно, ни причем. :?
Аватара пользователя
Mel'nik
Завсегдатай
Сообщения: 407
Зарегистрирован: 22 май 2007, 19:09
Откуда: Burnaby

Re: Вопрос из теста

Сообщение Mel'nik »

tasko писал(а): то требуется и жнец и на дуде игрец.
LOL' :D
tasko
Графоман
Сообщения: 18705
Зарегистрирован: 20 июл 2003, 09:16
Откуда: Торонто

Re: Вопрос из теста

Сообщение tasko »

Mel'nik писал(а):
tasko писал(а): то требуется и жнец и на дуде игрец.
LOL' :D
У меня было много контрактов в разных конторах, и могу сказать, что худший вариант - это работа в маленькой софтверной компании. Сейчас, когда меня агенты спрашивают, чего бы я хотел, я говорю, что хотел бы найти контракт в большой компании: чем больше тем лучше.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Вопрос из теста

Сообщение aissp »

Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало, память могет течь - по барабану, сокеты и файл дискрипторы закроются сами, коннекты на базу сами уползут... Чудно всем будет:)

а так по жизни:
(-)
(1) Процесс на реквест
(2) тред на реквест
(3) пул
(4) один поток на все реквесты
(4а) один поток на все реквесты + пул на длинные реквесты
(--)
Лоад балансинг, кластер серверов, кластер баз данных..
(---)
По разному, например
для (1) - выставляем приоритет процессу согласно приоритета реквеста
(2) - то же самое
(3) несколько пулов с разными приоритетами
(4) если в одном треде, то в одном цикле читаем сокеты, заполняем карту по приоритетам, выполняем согласно приоритетам

Наверное можно еще чего придумать, но с утра лениво
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Вопрос из теста

Сообщение Marmot »

aissp писал(а):Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало, память могет течь - по барабану, сокеты и файл дискрипторы закроются сами, коннекты на базу сами уползут... Чудно всем будет:)

а так по жизни:
(-)
(1) Процесс на реквест
(2) тред на реквест
(3) пул
(4) один поток на все реквесты
(4а) один поток на все реквесты + пул на длинные реквесты
(--)
Лоад балансинг, кластер серверов, кластер баз данных..
(---)
По разному, например
для (1) - выставляем приоритет процессу согласно приоритета реквеста
(2) - то же самое
(3) несколько пулов с разными приоритетами
(4) если в одном треде, то в одном цикле читаем сокеты, заполняем карту по приоритетам, выполняем согласно приоритетам

Наверное можно еще чего придумать, но с утра лениво
А ты разговаривал когда-нибудь с "типичным" PHP программером, типа того, который не различает строки и числа, потому, что в PHP они взаимозаменяемы :)
meser
Маньяк
Сообщения: 2026
Зарегистрирован: 13 мар 2007, 22:55

Re: Вопрос из теста

Сообщение meser »

aissp писал(а):Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало,
Да уж. Для php программера это несколько неожиданно. :)
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: Вопрос из теста

Сообщение aissp »

Не помню честно говоря. Зато я вчера прочитал что есть теорема о том что если задачу можно решить на машине тюринга то ее можно решить и на лямбда машине и наоборот - долго блин думал :)

А ты говоришь php :)

а то что я выше там написал, ето вроде как из общих знаний - нет?
Аватара пользователя
Marmot
Графоман
Сообщения: 39283
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: Вопрос из теста

Сообщение Marmot »

aissp писал(а):Не помню честно говоря. Зато я вчера прочитал что есть теорема о том что если задачу можно решить на машине тюринга то ее можно решить и на лямбда машине и наоборот - долго блин думал :)
Работы мало, да? :)
aissp писал(а):А ты говоришь php :)
а то что я выше там написал, ето вроде как из общих знаний - нет?
Ндааа, товарисч похоже никогда не встречал никаких PHP программистов :)
Аватара пользователя
Stanislav
Mr. Minority Report
Сообщения: 45281
Зарегистрирован: 19 окт 2005, 16:33
Откуда: Moscow - Richmond - New Wesт - Burnaby - PoCo

Re: Вопрос из теста

Сообщение Stanislav »

Какие все умные... Вопрос то был ПХП программеру...
Веб-сервер - имелось в виду не оригинальная софтина с вилками() или тред-пулами, а аппаратно-программный комплекс, на котором хостятся веб-сайты.
Ответ такой: я возьму сервер, поставлю на него Линюх, Апач+ПХП, МойСКЛ (если надо) и напишу на ПХП веб-страницы.
Ответить