Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
initial import (ongoing)
git-svn-id: https://svn.apache.org/repos/asf/james/postage/trunk@415259 13f79535-47bb-0310-9956-ffa450edef68
- Loading branch information
Bernd Fondermann
committed
Jun 19, 2006
1 parent
8b03623
commit 6ba74ab8d7d1e94cfae983c563c526d49d00d3f3
Showing
2 changed files
with
117 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,100 @@ | ||
++ Overview | ||
|
||
What is it? | ||
A small stand-alone tool to put load onto a running James Server and record its performance. | ||
|
||
What's the name? | ||
Postage. (Well, maybe we can fix that soon.) | ||
|
||
How is the load generated? | ||
By sending mails from/to a number of internal/external accounts. | ||
|
||
How is the load measured? | ||
By matching sent and delivered test mails, and recording timestamps when sending and retrieving mails. | ||
Recording James' JVM memory data is a planned feature. | ||
|
||
How does the tool evaluate the recorded data? Does it paint nice diagrams? | ||
It doesn't. But you should be able to import the Comma Separated Data it generates into a spreadsheet of your choice. | ||
|
||
I want to simulate a large user base, how can I do that? | ||
Postage creates any number of users you want. See Postage configuration. | ||
|
||
How does Postage send mail? | ||
a. By sending mail in using James' SMTP service | ||
b. By sending mail out ('relaying') through James' SMTP service | ||
|
||
How does Postage know if delivery was successful? | ||
a. By polling internal accounts through James' POP3 service | ||
b. By acting as a mail gateway for James' outbound mail coming through SMTP | ||
|
||
++ James configuration | ||
|
||
+ incoming SMTP must be enabled for the machine running postage (TODO: add config part here) | ||
+ POP3 must be enabled with "simple" authentication | ||
+ James must handle mail for internal user domain (TODO: add config part here) | ||
+ | ||
|
||
++ start Postage | ||
|
||
org.apache.james.postage.Main <path/to/config_file.xml> <scenario1> [<scenario2> ... ] | ||
|
||
++ needed libraries | ||
|
||
the following libraries are expected on the classpath: | ||
|
||
for reading xml configuration file: | ||
commons-beanutils.jar | ||
commons-collections-3.1.jar | ||
commons-configuration-1.2.jar | ||
commons-digester.jar | ||
commons-lang-2.1.jar | ||
|
||
for logging: | ||
commons-logging.jar | ||
|
||
for telnet, SMTP & POP3 client: | ||
commons-net-1.4.1.jar | ||
|
||
for unit testing: | ||
junit.jar | ||
|
||
for embedded SMTP server from James: | ||
james-2.3-dev.jar | ||
mail-1.3.2.jar | ||
mailet-2.3.jar | ||
mailet-api-2.3.jar | ||
activation.jar | ||
avalon-framework-api-4.3.jar | ||
avalon-framework-impl-4.3.jar | ||
avalon-logkit-2.1.jar | ||
concurrent-1.3.4.jar | ||
cornerstone-connection-api-2.1.jar | ||
cornerstone-connection-impl-2.1.jar | ||
cornerstone-sockets-api-2.1.jar | ||
cornerstone-sockets-impl-2.1.jar | ||
cornerstone-threads-api-2.1.jar | ||
cornerstone-threads-impl-2.1.jar | ||
dnsjava-2.0.1.jar | ||
excalibur-pool-api-2.1.jar | ||
excalibur-pool-impl-2.1.jar | ||
excalibur-thread-api-2.1.jar | ||
excalibur-thread-impl-2.1.jar | ||
|
||
++ How does it work? | ||
|
||
+ Prepare James | ||
|
||
+ Prepare the Postage configuration | ||
|
||
+ Start Postage | ||
|
||
Postage selects the Scenario you want to run | ||
Postage checks if all services can be reached | ||
Postage starts to do its job | ||
Postage writes all recorded data | ||
|
||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@@ -0,0 +1,17 @@ | ||
current plans | ||
|
||
+ make project maven2 compatible | ||
+ move to maven2 | ||
+ test with disappearing services. is sampling data generated? are error codes being set? | ||
+ increment mails per min | ||
+ wiki documentation | ||
+ 1 unmatched message bug | ||
|
||
|
||
future plans | ||
+ add spam configuration | ||
+ track bounced or otherwise undelivered mails | ||
+ add special accounts for retrieving spam and ghosted mails | ||
+ introduce handlers checking mail integrity | ||
+ configurable interceptors which declare a mail as 'sent correctly' | ||
+ fetchmail |