Страница 1 из 1
Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 15:52:02
Laa
Здравствуйте.
Замечаю, что при нагрузке портится авторизация. Выглядит это так:
Код: Выделить всё
mailq
...
3h 205K 1LSTwX-000Pyy-9P <"uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru>
rcpt1@domain2.ru
2h 2.0K 1LSUb4-0001hf-MD <>
"uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru
78m 2.0K 1LSV4N-0002m9-2L <>
"uid=somemail@domain.ru U=somemail@domain.ru"@domain.ru
...
и такого много. Такое возникает когда увеличивается нагрузка на почтовик. Вот, например сегодня, идет какая-то атака...
возможно тут ДБ не справляется, или еще что. В спокойные периоды времени такого нет. Все хорошо.
Как бороться с этим?
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 16:38:10
Laa
Простите, портится не авторизация, а адрес отправителя!
Увидел это:
Код: Выделить всё
2009-01-28 16:49:06 1LSAmu-0001GV-Mq <= "uid=sender@domain.ru U=sender@domain.ru"@domain.ru
H=(LocalHost) [x.x.x.x]:8574 I=[194.x.x.x]:25 P=esmtpa A=login:uid=sender@domain.ru
U=sender@domain.ru S=112561 from <sender@domain.ru> for somercpt@domain2.ru
Авторизация прошла нормально, а вот адрес отправителя попртился.
Почему?

Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 17:22:51
Laa
Нашел проблему, разбираюсь с утентификаторами.
Мне надо чтобы могли пользователи с чужими email отправлять почту через мой почтовый сервер, авторизируясь под специальной учетной записью.
Сейчас уже смог добиться устранения этой ошибки (control = submission/domain=), но работает не совсем так как хочется.
Как бы добиться совсем того результата, который хочется?
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 17:26:23
Laa
И до сих пор не понятно почему на нагрузках до 100 одновременных подключений к exim этой проблемы нет, а при больших нагрузках всплывает...

Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 23:34:06
Alex Keda
вы покажите что именно щас не так.
телепатов тут нет.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 23:48:26
Laa
Да глупости у меня были тут в server_set_id:
Код: Выделить всё
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${if and { \
{!eq{$1}{}} \
{!eq{$2}{}} \
{crypteq{$2}{${lookup mysql{MYSQL_Q_AUTHPWD1}{$value}fail}}} \
} {yes}{no}}"
server_set_id = uid=$1 U=$1
control=submission не было вообще для авторизированных пользователей. Сейчас добавил и наблюдаю. Пока все хорошо. Буду несколько дней наблюдать, потом сообщу.
Сейчас так:
Код: Выделить всё
...
accept authenticated = *
set acl_m_sndrrcptins = ${lookup mysql{MYSQL_Q_SNDRRCPT_INS}}
#control = submission/domain=
control = submission/sender_retain
...
Так все хорошо, а при submission/domain в mail from уходит учетная запись авторизации, а не настроенная у клиента, в rfc822-заголовках все правильно. При sender_retain все работает как надо. Но пока не понятно, будет ли это работать при увеличенной нагрузке. Ведь и без control=... работало на не очень критичных нагрузках.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-29 23:50:26
Alex Keda
будет. если бы не работало - были бы пачки народу по всем форумам с риками про экзим гавно

))
===
а вообще - про нагрузки - вам до mail.ru далеко, а у них экзим, хоть и пилёный

))
и работает.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 11:41:15
Laa
Я подозреваю, что проблема в связке с БД.
У меня при вчерашней атаке было под 25% в топе загрузка процессора mysqld. Процесс exim тоже некисло грузил.. ну и свои юзеры стали слать почту и у нескольких подряд всплыли проблемы. В основном у тех, кто пользуется общим аккаунтом для авторизации и не-моими ящиками (то есть авторизируясь шлют через мой почтовик).
... блин, везет мне на какие-то подземные стуки.

Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 11:50:43
Alex Keda
ну значит не экзим а база виновата.
число коннектов разрешите больше.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 13:23:47
Laa
уже сделал!
Спасибо за идею.
Но меня пугает что mysql так разрывается от простых запросиков... да, их много, но так закипать не должен.
Блин, вижу же что реально принимается около 1% почты из числа коннектов, а строить лимиты чревато... эх.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 13:37:04
Laa
А еще проанализировал все sql-запросы и таблицы, некоторые вынес из sql и вложил в конфиг, так как они не меняются, а mysql лишний раз дергается. Запустил логи mysql и получил почву для размышлений. Вот.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 14:29:42
Alex Keda
ну, конфиги же у всех типовые - на все случаи жизни.
а когда случай особенный - есть смысл заняться оптимизацией.
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 16:11:42
Laa
Таки проблема осталась
Пользователь авторизируется и от него принимается письмо так:
2009-01-30 16:06:36 1LSt4u-000BYT-Hj <= "
xx@xx1.ru"
@xx2.ru H=(LocalHost) [85.x.x.x]:9636 I=[194.x.x.x]:25 P=esmtpa A=login:
xx@xx1.ru S=3048 id=000001c982db$93f1dd00$bbd59700$@ru from <
xx@xx1.ru> for
yy@yy.ru
Почему добавляется xx2.ru домен?
Блин, редко, но добавляется!
Re: Портится авторизация в Exim при нагрузке.
Добавлено: 2009-01-30 17:04:05
Laa
Убрал 4 sql-запроса из конфига, увеличил максимальное кол-во подключений к sql, и тем не менее стало еще больше тут:
было до 8.
Таки не хватало.