Страница 1 из 2
Вопрос из теста
Добавлено: 09 окт 2008, 18:28
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?
Удовлетворительно ответить он не смог и решил меня спросить. Я начал было с жаром рассказывать про оптимизацию параметров апача, а потом остановился и призадумался - вопрос-то не к сисадмину. А что сообщество думает?
Re: Вопрос из теста
Добавлено: 09 окт 2008, 18:40
tasko
meser писал(а): Я начал было с жаром рассказывать про оптимизацию параметров апача, а потом остановился и призадумался - вопрос-то не к сисадмину. А что сообщество думает?
Если копания маленькая, то требуется и жнец и на дуде игрец.
Ну и потом запросто могли задать вопрос в сторону.
Такое бывает, и очень часто.
Re: Вопрос из теста
Добавлено: 09 окт 2008, 18:55
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?
Re: Вопрос из теста
Добавлено: 09 окт 2008, 19:06
meser
Marmot писал(а):
может вопрос все-таки был про several thousands requests per second?
А это разве дизайном решается? Про лоад-балансинг и мульти-тредность он ни слухом, не духом.
Re: Вопрос из теста
Добавлено: 09 окт 2008, 19:11
Marmot
meser писал(а):Marmot писал(а):
может вопрос все-таки был про several thousands requests per second?
А это разве дизайном решается? Про лоад-балансинг и мульти-тредность он ни слухом, не духом.
А разве тут вообще что-то решается дизайном ?
Re: Вопрос из теста
Добавлено: 09 окт 2008, 19:19
meser
Marmot писал(а):
А разве тут вообще что-то решается дизайном ?
Вот это меня в тупик и поставило. Вопрос-то пхп программисту. Я даже не совсем понимаю про количество запросов - это что, кол-во гетов по одному тисипи коннекшн или количество уникальных тисипи конекншн в секунду?
Re: Вопрос из теста
Добавлено: 09 окт 2008, 19:48
meser
Чушь спорол. Геты здесь, конечно, ни причем.

Re: Вопрос из теста
Добавлено: 10 окт 2008, 09:09
Mel'nik
tasko писал(а): то требуется и жнец и на дуде игрец.
LOL'

Re: Вопрос из теста
Добавлено: 10 окт 2008, 09:17
tasko
Mel'nik писал(а):tasko писал(а): то требуется и жнец и на дуде игрец.
LOL' :D
У меня было много контрактов в разных конторах, и могу сказать, что худший вариант - это работа в маленькой софтверной компании. Сейчас, когда меня агенты спрашивают, чего бы я хотел, я говорю, что хотел бы найти контракт в большой компании: чем больше тем лучше.
Re: Вопрос из теста
Добавлено: 10 окт 2008, 09:44
aissp
Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало, память могет течь - по барабану, сокеты и файл дискрипторы закроются сами, коннекты на базу сами уползут... Чудно всем будет:)
а так по жизни:
(-)
(1) Процесс на реквест
(2) тред на реквест
(3) пул
(4) один поток на все реквесты
(4а) один поток на все реквесты + пул на длинные реквесты
(--)
Лоад балансинг, кластер серверов, кластер баз данных..
(---)
По разному, например
для (1) - выставляем приоритет процессу согласно приоритета реквеста
(2) - то же самое
(3) несколько пулов с разными приоритетами
(4) если в одном треде, то в одном цикле читаем сокеты, заполняем карту по приоритетам, выполняем согласно приоритетам
Наверное можно еще чего придумать, но с утра лениво
Re: Вопрос из теста
Добавлено: 10 окт 2008, 09:54
Marmot
aissp писал(а):Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало, память могет течь - по барабану, сокеты и файл дискрипторы закроются сами, коннекты на базу сами уползут... Чудно всем будет:)
а так по жизни:
(-)
(1) Процесс на реквест
(2) тред на реквест
(3) пул
(4) один поток на все реквесты
(4а) один поток на все реквесты + пул на длинные реквесты
(--)
Лоад балансинг, кластер серверов, кластер баз данных..
(---)
По разному, например
для (1) - выставляем приоритет процессу согласно приоритета реквеста
(2) - то же самое
(3) несколько пулов с разными приоритетами
(4) если в одном треде, то в одном цикле читаем сокеты, заполняем карту по приоритетам, выполняем согласно приоритетам
Наверное можно еще чего придумать, но с утра лениво
А ты разговаривал когда-нибудь с "типичным" PHP программером, типа того, который не различает строки и числа, потому, что в PHP они взаимозаменяемы

Re: Вопрос из теста
Добавлено: 10 окт 2008, 09:59
meser
aissp писал(а):Хе хе - ежели несколько реквестов в секунду - то лучше fork() человечество не придумало,
Да уж. Для php программера это несколько неожиданно.

Re: Вопрос из теста
Добавлено: 10 окт 2008, 10:00
aissp
Не помню честно говоря. Зато я вчера прочитал что есть теорема о том что если задачу можно решить на машине тюринга то ее можно решить и на лямбда машине и наоборот - долго блин думал
А ты говоришь php
а то что я выше там написал, ето вроде как из общих знаний - нет?
Re: Вопрос из теста
Добавлено: 10 окт 2008, 10:03
Marmot
aissp писал(а):Не помню честно говоря. Зато я вчера прочитал что есть теорема о том что если задачу можно решить на машине тюринга то ее можно решить и на лямбда машине и наоборот - долго блин думал
Работы мало, да?
aissp писал(а):А ты говоришь php

а то что я выше там написал, ето вроде как из общих знаний - нет?
Ндааа, товарисч похоже никогда не встречал никаких PHP программистов

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