[twsocket] Using lots of TSmtpCli in a single application

2009-08-16 Thread Pete Williams

Hi 

I've used ICS components for a while now and had great results. 

I have something new to do and wanted some advice before starting a new project.

Previously my app used a single TSmtpCli and this all worked fine. Now however 
I have to send mail on behalf of lots of accounts and the number of TsmtpCli 
components in use simultaneously, used in a multi threaded application, could 
be in excess of 100.

Assuming that the machine has enough memory and processor power, am I likely to 
run into any problems?

I don't evisage the email volumes being massive - say 20 per hour per account, 
meaning something like 200 per hour outgoing per application.

My reason for asking is simple - I'm doing something unusual. If it is likely 
to be a problem I can try concentrating all emails through a single Tsmtpcli 
but because of the code base I am working with this will be much harder to do.

Any comments welcome. Thanks in advance!





_

Upgrade to Internet Explorer 8 Optimised for MSN.  

http://extras.uk.msn.com/internet-explorer-8/?ocid=T010MSN07A0716U
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Using lots of TSmtpCli in a single application

2009-08-16 Thread Dod
Hello Pete,

200  mails  per  hour  is really not much, a single thread can do much
more.

But  you  may be slowed by the other side smtp server if it is slow or
timeout.  So  doing  multi-thread  is  a  good  way to maintain a good
average speed.

You  can  create  20  threads with a common queue that each thread can
take mails from, so if a thread is slowed because of slow or timed-out
smtp  server,  then  the other threads continue to empty the queue and
send e-mails to other smtp servers.

In  case  you  send  multiple  mails so same MX domain, then make some
function  that  will  re-arrange  the  queue to move slow or timed-out
domains to the end of the queue so you'll retry them later.

Also  if  a MX refuse you because of some blacklist then remove thoses
mails  from the queue and send you a mail alert so you can investigate
why destination refused your mail.

regards.


PW Hi 

PW I've used ICS components for a while now and had great results. 

PW I have something new to do and wanted some advice before starting a new 
project.

PW Previously my app used a single TSmtpCli and this all worked fine. Now 
however I have to send mail on behalf of lots of accounts and the number of 
TsmtpCli components in use simultaneously, used
PW in a multi threaded application, could be in excess of 100.

PW Assuming that the machine has enough memory and processor power, am I 
likely to run into any problems?

PW I don't evisage the email volumes being massive - say 20 per hour per 
account, meaning something like 200 per hour outgoing per application.

PW My reason for asking is simple - I'm doing something unusual. If it is 
likely to be a problem I can try concentrating all emails through a single 
Tsmtpcli but because of the code base I am
PW working with this will be much harder to do.

PW Any comments welcome. Thanks in advance!





PW _

PW Upgrade to Internet Explorer 8 Optimised for MSN.  

PW http://extras.uk.msn.com/internet-explorer-8/?ocid=T010MSN07A0716U
PW --
PW To unsubscribe or change your settings for TWSocket mailing list
PW please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
PW Visit our website at http://www.overbyte.be



--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be


Re: [twsocket] Using lots of TSmtpCli in a single application

2009-08-16 Thread Arno Garrels
Pete Williams wrote:
 Hi
 
 I've used ICS components for a while now and had great results.
 
 I have something new to do and wanted some advice before starting a
 new project. 
 
 Previously my app used a single TSmtpCli and this all worked fine.
 Now however I have to send mail on behalf of lots of accounts and the
 number of TsmtpCli components in use simultaneously, used in a multi
 threaded application, could be in excess of 100. 

100 connections and more in one single thread is no problem. Anyway don't
use one thread per connection, that was wasted resource! Since ICS works 
asynchronous there _basically is no need for multiple threads. However if 
you want your application scale well with multiple processors and keep
your GUI responsive create as many additional threads as CPUs/cores are
available and divide work/number of connections accordingly.  

--
Arno Garrels
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be