Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> optymalizacja mail() lub jakiś zamiennik
wude
post 23.01.2011, 12:49:45
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.08.2010

Ostrzeżenie: (0%)
-----


Witam,

Czy istnieje możliwość przyspieszenia działania funkcji mail()? Na serwerze VPS 1,5 Ghz, 768mb RAM mailing do 10 000 osób wykonywał się 28 minut i zajął ponad 90% użycia procesora, co wydaje mi się zbyt dużym obciążeniem.

Skrypt jest prosty i wygląda tak:
  1. //$maile - tablica z mailami
  2. //$wiadomosc - treść maila w HTML
  3. //$temat - temat maila
  4.  
  5. $naglowki = "Reply-to: admin <noreply@adres.com>\r\n";
  6. $naglowki .= "From: admin <noreply@adres.com>\r\n";
  7. $naglowki .= "MIME-Version: 1.0\r\n";
  8. $naglowki .= "Content-type: text/html; charset=utf-8\r\n";
  9.  
  10. for($i=0;$i<count($maile);$i++){
  11. mail($maile[$i], $temat, $wiadomosc, $naglowki);
  12. $i2 = $i+1;
  13. echo $i2.'. '.$maile[$i].': OK<br />';
  14. }


A może są jakieś szybsze odpowiedniki, niekoniecznie w PHP, ale działające na serwerze?

I jeszcze jedna sprawa... Czy takie mailingi do osób, które zaakceptowały ich otrzymywanie, mogą zacząć wpadać do spamu? Jeśli tak to jak się przed tym ustrzec?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Hekko
post 23.01.2011, 12:56:43
Post #2





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

Ostrzeżenie: (10%)
X----


Oczywiście, mogło to tyle trwać. Przecież to jest około 6 maili na sekundę, nie spodziewaj się więcej. Jeśli masz 1 rdzeń tylko dostępny to 90% jest możliwe.
Możesz skorzystać z pear mail, lub phpmailer ale nie sądzę, że osiągniesz lepszy wynik.
Do spamu mogą trafić zawsze. Ważne są poprawne ustawienia dns (szczególnie revdns), zgodność danych nadawcy. Jeśli serwer odbiorcy np. stwierdzi, że wysyłałeś zbyt dużo wiadomości to może być block/spam - np. gdy z tych 10000 odbiorców 8000 to skrzynki wp.pl.


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
wude
post 23.01.2011, 13:50:17
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.08.2010

Ostrzeżenie: (0%)
-----


dzięki za odpowiedź, sporo mi wyjaśniła.

Cytat(Hekko @ 23.01.2011, 12:56:43 ) *
Oczywiście, mogło to tyle trwać. Przecież to jest około 6 maili na sekundę, nie spodziewaj się więcej. Jeśli masz 1 rdzeń tylko dostępny to 90% jest możliwe.


ok, czas wysyłania nie jest bardzo ważny, ale co jeśli chciałbym wysłać 100k maili? Serwer wytrzyma? Można w jakiś sposób go odciążyć przez skrypt?
Go to the top of the page
+Quote Post
kalmaceta
post 23.01.2011, 14:04:46
Post #4





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

Ostrzeżenie: (0%)
-----


- dzielisz na porcje tyle + cronjobs
- zlecasz firmie, która się tym zajmuje - mailingiem
- wykup dedya do tego (najlepiej)




--------------------
kAlmAcetA
Go to the top of the page
+Quote Post
Hekko
post 23.01.2011, 14:07:59
Post #5





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

Ostrzeżenie: (10%)
X----


Możesz np. napisać skrypt który będzie wybierał 100 rekordów do wysyłki i odpalać co minutę właśnie z cronjobs. Wtedy mimo dłuższego czasu wysyłki będziesz miał mniejsze obciążenie. Do 100k nie trzeba jeszcze dedyka.


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
kalmaceta
post 23.01.2011, 14:37:59
Post #6





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

Ostrzeżenie: (0%)
-----


może i nie trzeba, ale jeśli serwer jeszcze obsługuje inne skrzynki, jest serwer db, jest serwer www, przy mailingu wielokrotnym 100k zakładam , że nie jest to strona domowa,, średnio to widze ale nie wnikam,bo faktycznie może troche na wyrost.


--------------------
kAlmAcetA
Go to the top of the page
+Quote Post
Hekko
post 23.01.2011, 14:58:46
Post #7





Grupa: Zarejestrowani
Postów: 255
Pomógł: 23
Dołączył: 1.12.2003

Ostrzeżenie: (10%)
X----


Masz rację, nie wiadomo co autor trzyma tam jeszcze. Ale jeśli to nie perfidny spam to nie powinno być problemu przy porcjowaniu wysyłki.


--------------------
Tani hosting - Hekko.pl | PHP 5.2/5.3/5.4/5.5/5.6 | MySQL 5.5 |
Hosting już od 49 zł rocznie! Domena pl do każdego pakietu!
Go to the top of the page
+Quote Post
wude
post 23.01.2011, 17:04:14
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 19.08.2010

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedzi. Przy następnym mailingu wypróbuję metodę z cronjobs, ale przedtem muszę nadrobić braki w wiedzy na ten temat smile.gif

Na serwerze jest serwis generujący znaczne obciążenie, ale głównie w określonych godzinach, więc nie powinno być problemów.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 15:35