В этом клиническом случае некоторые заводят еще одну таблицу для уникальности, делают в нее вставку и тут же удаление, тем самым безопасно получая last_insert_id.
В более других субд существуют Последовательности или Генераторы.
Но все-таки стоит пересмотреть логику приложения и подумать как можно вставлять сначала основную запись и избежать ручного указания ключа. Редко когда такое действительно нужно делать.
но это не такой уж однозначный вопрос стоит ли гнаться за загрузкой остальных ядер, потому что (оттуда же) "considerably reduces the cost of context switch and the memory usage "
вроде там есть параметр nbproc, который по смыслу должен быть таким же как и параметр workers у nginx, но в документации рекомендуют именно один процесс.
Поставь nginx вместо haproxy да и проверь. Все равно общее число факторов такое большое, что теоретизировать можно долго. Ничего кроме теста в конкретных условиях не скажет лучше.
Еще можно просто дополнительных IP взять и на каждый повесить отдельный haproxy в однопроцессном режиме. Я бы с этого и начал.
Но вообще, сомнительно чтобы такой софт как haproxy действительно являлся узким местом в какой-либо системе.
kostich, когда-нибудь думал о сегментации рынка ? работает и пусть работает себе. Кого не сможет обслужить, тот уйдет к другому.
Я, кстати, не могу с этой оценкой согласиться. Почти всегда имел дело с обычным dos на HTTP, потому что это позволяет нагрузить наиболее тяжелые участки сайта не таким уж большим ботнетом.
Или это разделение 10/90 исходя из трафика рассчитано, а не по штукам инцидентов ? Ну так все нормальные люди вас поймут неправильно.
dma84, мне кажется, это ваши домыслы. В нормальной конторе и админ есть, и ie централизовано обновляется. В глубинке значит в клиент-банки и пр совсем не ходят ? Откуда данные ?
Oleg_ST: Возможно я не прав, но напрашивается вывод что нагрузка по прерываниям начинает расти не от процессов, происходящих на физическом, канальном или сетевом уровнях с которыми работает сетевая карта и её драйвер, а в тот момент, когда подключается прикладной. Причем далеко не любой, работающий с проходящим трафиком. Пример с ддосом -- апач работает без нагрузки по прерываниям, после подключения iptables она растет.
Скорее правы. А то что только одно ядро нагружается заметили ?
Хорошая карта в этой задаче позволила бы нагрузить несколько.
Oleg_ST, С позиции типичного сайтовладельца вы может и правы - не так важно какая сетевая карта, если гигабит можно забить и на обычной, а скорости выше редко арендуют.
Но для специальных сетевых приложений типа терминации pppoe, vpn, фильтрации ddos, трафика больше 1 гбита, становится важно готова ли карта работать с несколькими очередями прерываний. В этом случае непосредственно обработкой пакетов будут заниматься дополнительные ядра. Это все работает только на дорогих моделях.
Защита от DDoS своими силами не такая уж и редкая задача и даже типичному сайтовладельцу может понадобиться приличная сетевая карта.
Может быть, если "измельчить" пакеты в тесте будет более заметна разница.
Ну и почему вы в своем тесте на 1гбитой карте получили потолок 500мбит ?
Разумно предположить, что если тест чистый и показательный, вы должны были получить около 1 гбит.
Ayavryk: может и не нужно. зависит от задачи, от менеджеров, от заказчика. Но не от верстальщика.
а если верстальщик в одном лице и менеджер ? ну типичная для этого форума ситуация.
Сам все решит.
Ayavryk: Извините, но я работаю в такой организации. Моя зарплата примерно 1.5-2 раза выше средней по отрасли. И на фоне прибыли компании не видна в микроскоп.
мы разве вашу жадность обсуждали? я про организацию труда.
В сбербанк.онлайн тоже не заходит.
Можете рассказывать что угодно, но отрасль смотрит не туда куда вы.
В этом клиническом случае некоторые заводят еще одну таблицу для уникальности, делают в нее вставку и тут же удаление, тем самым безопасно получая last_insert_id.
В более других субд существуют Последовательности или Генераторы.
Но все-таки стоит пересмотреть логику приложения и подумать как можно вставлять сначала основную запись и избежать ручного указания ключа. Редко когда такое действительно нужно делать.
где то натыкался на опус о том, что haproxy работает на одном ядре только,
да прям на главной : http://haproxy.1wt.eu/#perf
"a single-process, event-driven model "
но это не такой уж однозначный вопрос стоит ли гнаться за загрузкой остальных ядер, потому что (оттуда же) "considerably reduces the cost of context switch and the memory usage "
вроде там есть параметр nbproc, который по смыслу должен быть таким же как и параметр workers у nginx, но в документации рекомендуют именно один процесс.
Поставь nginx вместо haproxy да и проверь. Все равно общее число факторов такое большое, что теоретизировать можно долго. Ничего кроме теста в конкретных условиях не скажет лучше.
Еще можно просто дополнительных IP взять и на каждый повесить отдельный haproxy в однопроцессном режиме. Я бы с этого и начал.
Но вообще, сомнительно чтобы такой софт как haproxy действительно являлся узким местом в какой-либо системе.
kostich, когда-нибудь думал о сегментации рынка ? работает и пусть работает себе. Кого не сможет обслужить, тот уйдет к другому.
Я, кстати, не могу с этой оценкой согласиться. Почти всегда имел дело с обычным dos на HTTP, потому что это позволяет нагрузить наиболее тяжелые участки сайта не таким уж большим ботнетом.
Или это разделение 10/90 исходя из трафика рассчитано, а не по штукам инцидентов ? Ну так все нормальные люди вас поймут неправильно.
Ограничить их число. Разве не очевидно?
dma84, мне кажется, это ваши домыслы. В нормальной конторе и админ есть, и ie централизовано обновляется. В глубинке значит в клиент-банки и пр совсем не ходят ? Откуда данные ?
Возможно я не прав, но напрашивается вывод что нагрузка по прерываниям начинает расти не от процессов, происходящих на физическом, канальном или сетевом уровнях с которыми работает сетевая карта и её драйвер, а в тот момент, когда подключается прикладной. Причем далеко не любой, работающий с проходящим трафиком. Пример с ддосом -- апач работает без нагрузки по прерываниям, после подключения iptables она растет.
Скорее правы. А то что только одно ядро нагружается заметили ?
Хорошая карта в этой задаче позволила бы нагрузить несколько.
Oleg_ST, С позиции типичного сайтовладельца вы может и правы - не так важно какая сетевая карта, если гигабит можно забить и на обычной, а скорости выше редко арендуют.
Но для специальных сетевых приложений типа терминации pppoe, vpn, фильтрации ddos, трафика больше 1 гбита, становится важно готова ли карта работать с несколькими очередями прерываний. В этом случае непосредственно обработкой пакетов будут заниматься дополнительные ядра. Это все работает только на дорогих моделях.
Защита от DDoS своими силами не такая уж и редкая задача и даже типичному сайтовладельцу может понадобиться приличная сетевая карта.
Может быть, если "измельчить" пакеты в тесте будет более заметна разница.
Ну и почему вы в своем тесте на 1гбитой карте получили потолок 500мбит ?
Разумно предположить, что если тест чистый и показательный, вы должны были получить около 1 гбит.
Типично что это не прибыльно.
кто сказал? в процентном соотношении может быть намного больше стандартной банковской нормы.
Я вспомнил еще и про qiwi-кошелек. Тоже не могу войти с отключенным яваскриптом. О чем вообще речь? Все плевали на этих пользователей.
klamas, нет, просто чтение будет медленнее работать, но вряд ли это станет ограничивающим фактором из-за и так высокой скорости.
Насчет риска - не поддерживаю. Эту операцию делать предполагается редко.
В конце концов, делать то что-то надо. Не поддерживающие TRIM файловые системы тоже бывают нужны.
может и не нужно. зависит от задачи, от менеджеров, от заказчика. Но не от верстальщика.
а если верстальщик в одном лице и менеджер ? ну типичная для этого форума ситуация.
Сам все решит.
Извините, но я работаю в такой организации. Моя зарплата примерно 1.5-2 раза выше средней по отрасли. И на фоне прибыли компании не видна в микроскоп.
мы разве вашу жадность обсуждали? я про организацию труда.
В сбербанк.онлайн тоже не заходит.
Можете рассказывать что угодно, но отрасль смотрит не туда куда вы.