お世話になります。
メール配信システムをPHP+MySQLで構築し、複数のお客様に提供していますが、
現在、複数のお客様が、数百から数千規模の配信を行っており、
送信時間が被ることもあります。そうなると、ASPがなかなか動かなくなってしまいます。
その為、配信するロジックの変更を迫られているのですが、
良いロジックがわからず、困っています。
現在は、送信リクエストがされた時点で、全件の送信処理を行っています。
メール配信は海外のAPIサービスを利用している為、
サーバー負荷はあまりかかっていません。
(サーバーリソース情報確認済みなので、間違いありません)
それでも遅いということは、複数のプロセスが継続的に動き続け、
その他のプロセスが動作することを妨害をしていると考えています。
これらの問題を改善するには、どうしたらよいのでしょうか。
案がございましたら、どうかご教示ください。
よろしくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
一般的なメール配信システムにはCUE(予約のようなもの)が用いられると思います。
サーバーの稼働状況を見て、正常稼働しているときに送信するような感じです。行き当たりばったりで作ったり、闇雲に質問するのではなくて、まずは専門書に目を通すことを強くお薦めします。その上で、分からないことを質問されてはいかがでしょうか。
No.2
- 回答日時:
>>なかなか動かなくなって
とはどういう状況でしょう?
サーバ的にはメモリ不足になるのでしょうか?IO待ちになるのでしょうか?CPUが大変なことになるのでしょうか?
問題の切り分けと現状の構成の把握をもう少しいただけませんか?
No.1
- 回答日時:
>ASPがなかなか動かなくなってしまいます。
ASPというのがわかりませんが(ここはphpカテゴリなので)。
>送信リクエストがされた時点で、全件の送信処理を行っています。
送信予約(キューに溜める)だけしておいて、あとで(cronなどで)キューから逐次送信するのが常道だと思います。cronの起動間隔次第ですが、1回の起動で処理する件数も(溜まりすぎない程度に)抑えるなどします。
というか「外部のAPIを叩く」って自前で送るよりも負荷的にはともかく送信完了までに要する時間は長くなりますよね。自前の送信ならMTAに渡した時点で開放される(あとはMTAがキューを逐次処理する)わけですが、外部APIを叩いて応答を待つとなると外部との送受信だけでも相当にかかりそうに思えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) [PayPay銀行キャッシュカード拾得の件] このメールは本物か? 6 2022/09/15 21:52
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- その他(暮らし・生活・行事) → ※このメールは、ファミマTカードをファミペイに登録されたことがある会員様にお送りしております。す 4 2023/05/03 12:24
- ガラケー・PHS SMSメールの受信遅延原因はガラケー自体の欠陥では 8 2022/08/06 11:46
- その他(メールソフト・メールサービス) これは詐欺メールでしょうか? カテ違いでしたらすみません。 「楽天カードから緊急のご連絡」というタイ 7 2022/06/30 19:37
- IT・エンジニアリング 外部業者と工程管理。どう管理してますか? 2 2022/07/07 16:53
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- Amazon アマゾン 7 2022/06/11 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Q)PHPでメール送信について
-
ワードプレス、Contact Form 7...
-
PHPでメール送信を行う場合、SS...
-
VB.NET、ASPでメールの自動返信...
-
mail関数を使うと遅いので
-
時間を指定してメール送信
-
コマンドプロンプトで添付ファ...
-
HPの更新をしたら自動でメール...
-
リファラが取得できない?
-
mb_send_mail関数により送信さ...
-
一定時間毎に同じ動作を繰り返...
-
phpでPEAR::DBを使っているので...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
php5-extensions を make でき...
-
CFileDialogの最初のディレクト...
-
PHPのみでの背景色は指定できる...
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
PHPのif文でその処理を途中で抜...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ワードプレス、Contact Form 7...
-
存在しないメールアドレスかど...
-
VB6にてメールを送信する方法
-
VBでメールを送る時のSMT...
-
submitボタンの二重送信について
-
コマンドプロンプトで添付ファ...
-
メールアドレスの存在確認はで...
-
【エクセルVBA】メール送信前に...
-
ループの中で mailItemObj.Disp...
-
【追加】ファイルを閉じてダイ...
-
ヒアドキュメントを利用してメ...
-
JavaMailでエラーメールの通知
-
送信日時を指定してメールを送...
-
ロリポップと、phpで自動の返信...
-
VB.NETでフリーメールアドレス...
-
★エクセルVBAでOutlookのメール...
-
SMTPサーバの指定なしでメ...
-
AccessのDoCmd.SendObjectについて
-
ブラウザの更新ボタン
-
HPの更新をしたら自動でメール...
おすすめ情報