- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Я лично видел несколько криво настроенных серверов с sendmail, где вызов этой функции может занимать десятки секунд. Допускаю, что проблема может быть также под виндами, где эта функция обычно делает коннект к SMTP-серверу (проблема доступности сервера). Письма в Битриксе отправляются "агентом", который по дефолту срабатывает на хитах к сайту.
Так что этот тест вполне годный для выявления явных проблем с работой почты.
Что же там было криво настроено? Без общих слов, конкретно, с примером конфига.
Долгий вызов mail() или других функций (например curl) -> происходит из-за нехватки свободных PHP процессов.
Например, сделайте 1 процесс PHP-FPM и зажмите F5.
Наглядно, исходник теста
А вот сама функция -> отправляет через обычный mail или через PHPMailer.
Считать ms (microtime) и давать какие-то оценки или даже формировать рейтинг на основе этого теста - просто маркетинг.
То есть, выполняя этот тест на новых xeon или i7. Вы получаете оценку немного выше или в два раза выше, как например здесь
А не пора ли тогда выкинуть все новые CPU и закупить волшебный Intel® Core™2 Duo CPU E4500 2.20GHz?
Я лично видел несколько криво настроенных серверов с sendmail, где вызов этой функции может занимать десятки секунд. Допускаю, что проблема может быть также под виндами, где эта функция обычно делает коннект к SMTP-серверу (проблема доступности сервера). Письма в Битриксе отправляются "агентом", который по дефолту срабатывает на хитах к сайту.
Так что этот тест вполне годный для выявления явных проблем с работой почты.
Вы несомненно правы. Но сравнивать разные почтовики и говорить вот тут 2 секунды и это ужасно плохо, а тут 1 секунда и это супер, это очень глупо.
Вы несомненно правы. Но сравнивать разные почтовики и говорить вот тут 2 секунды и это ужасно плохо, а тут 1 секунда и это супер, это очень глупо.
Там не секунды. Все эти тесты выполняются за миллисекунды.
poiuty, ну неудачный пример. Просто все знают что sendmail более медленный. Но когда этот временной интервал не такой как написал iHead, смысла бросаться такими громкими словами ТС'у нельзя.
php mail(), 61ms
и не важно, будет ли это exim4 или sendmail.
Вы несомненно правы. Но сравнивать разные почтовики и говорить вот тут 2 секунды и это ужасно плохо, а тут 1 секунда и это супер, это очень глупо.
Глупо, тест глуп, т.к. может у хостера отправка стоит не срочная, а в очередь, что значит что письмо уйдет в течение 5 или даже 30 минут (default exim), а PHP выдаст результат в миллисекунду.
Да в топку этот тест php-mail. Включение/отключение greylisting, разные спам-листы и т.д., - все это выдает совершенно разные результаты.
bitrix - no comment.
Да в топку этот тест php-mail. Включение/отключение greylisting, разные спам-листы и т.д., - все это выдает совершенно разные результаты.
bitrix - no comment.
Нет же. Тест идет именно функции php mail(). И не важно, есть там greylist или "разные спам листы и т.д." => это не будет сказываться на результатах.
$s1 = getmicrotime();
bxmail($addr, $subj, $body);
$e1 = getmicrotime();
$t1 = $e1 - $s1;
return $t1;
bxmail это функция, которая вызывает кастомный класс PHPmailer. Если его нет -> вызывает обычный mail().
Тест не показывает реально когда уйдет письмо. Тест показывает скорость вызова и выполнение mail() или класса PHPmailer.
Далее письмо попадает в очередь exim4 или sendmail. А smtp когда захочет, тогда и отправит.
poiuty, я код не изучал. Но проводил тесты, и с sendmail скорость всегда выше. Тестировал специально на одной вдс.
Какая то несостыковка с вашими словами получается.
poiuty, я код не изучал. Но проводил тесты, и с sendmail скорость всегда выше. Тестировал специально на одной вдс.
Какая то несостыковка с вашими словами получается.
Как проверяли?
---------- Добавлено 07.11.2013 в 17:22 ----------
Из исходников php mail() /ext/standart/mail.c
Определяется пусть к SMTP (/usr/sbin/sendmail)
Далее php делает popen к
Далее в popen записывает и закрывает => pclose
Далее письмо попадает в очередь и уже SMTP отправляет его. То есть вы хотите сказать, что popen -> sendmail выполнится быстрее чем popen -> exim4? =)
---------- Добавлено 07.11.2013 в 17:24 ----------
Аналогично тест битрикса -> проверяет "скорость сессий". Это из той же серии, что с mail().