How to split mailservices among two servers (no xsan yet)

How can I split the load on our mailserver (getting rid of the daily VM growth and potential crashes / down time) by using TWO servers as opposed to one?
Apparently the root of the cause is too many imapd connections and DirectoryServices then gets in to problems stalling the whole server (EG see my latest 3-4 posts)
SMTP out of the house should not pose a problem, and access for the end users to the (manually moved) imap data location should be handled easily after pointing the users to the second mailserver in WGM.
BUT incoming mail makes me unsure - port 25 can only be pointed to one server on the LAN (naturally , so how do I configure the ("primary") mailserver to make sure that the local mail-delivery (for the users that use the second mailserver) will actually be sent to this second server.
I would think that this should be easily possible - somehow - and that the LMTP service will be the part responsible for this change.
PS.: I still cannot understand why a dual 2 GHz intel server is unable to perform satisfactory - with 10.5.6 server - serving the small amount of IMAP users we have, ca. 250 users.
Currently ps ax | grep imapd | wc -l tells me that I have up to ca. 150 connections when the VM growth warnings starts to show up in the system.log

The server is still pretty much having the default setup, though I have implemented Pterobytes "Frontline Spam Defense", but:
A. I have incresed the number of processes as per an Apple article for "heavily loaded servers":
cat /etc/launchd.conf
limit maxproc 1000 2000
B. I have changed /ets/cyrus.conf
IMAP increased to 5
LMTPUNIX increased to 2
<pre> imap cmd="imapd" listen="imap" prefork=5
imaps cmd="imapd -s" listen="imaps" prefork=0
lmtpunix cmd="lmtpd" listen="/Volumes/Bric-RAID-03-up/Mail/imap/socket/lmtp" prefork=2</pre>
I got this advise from Pterobyte a year ago when I had problems with the performance of the old mailserver (the hw was a G4, the hint helped a lot!)
The timeout you refer to is not set in the config file (also not in a fresh in stall of 10.5.6), it's only listed (as 30) in /etc/imapd.conf.default.
But I presume that if the parameter is not set in my cinf file, then the default files settings are in effect(?)
I was thinking of changing this value just yesterday, but after reading the man imapd.conf I thought that it would not make any diference, since 30 is "the minimum":
timeout: 30
The length of the IMAP server's inactivity autologout timer, in minutes. The
minimum value is 30, the default.
I guess I have to make this chang anyway
The server is a dual 2 GHz intel with 5 GB ram (and still 4 vacant slots).
Today's top output looks like this (the server was rebooted 24 hours ago!)
Mail spool (currently ca. 120 GB) is on an RAID-5 xraid
<pre>Processes: 171 total, 2 running, 169 sleeping... 741 threads 10:57:37
Load Avg: 0.21, 0.16, 0.06 CPU usage: 3.39% user, 3.39% sys, 93.23% idle
SharedLibs: num = 12, resident = 44M code, 1532K data, 3200K linkedit.
MemRegions: num = 16009, resident = 625M + 27M private, 231M shared.
PhysMem: 708M wired, 942M active, 174M inactive, 1826M used, 3294M free.
VM: 18G + 373M 645958(0) pageins, 75(0) pageouts</pre>
I have been running Apples top-guide.pl script for a couple of days to monitor the servers "health" in general as well as I am logging the number of imapd connections every minute.
I dont find the numbers alarming.
During the max load yesterday (between 12.10-12.48) there was a peak of 210 imapd connection (users coming back from lunch and checking mail?).
<pre>Fri Feb 6 12:42:00 CET 2009: 210
Fri Feb 6 12:43:00 CET 2009: 210
Fri Feb 6 12:44:00 CET 2009: 210
Fri Feb 6 12:45:00 CET 2009: 209
Fri Feb 6 12:46:00 CET 2009: 210
Fri Feb 6 12:47:00 CET 2009: 209
Fri Feb 6 12:48:00 CET 2009: 210
</pre>
During these 8 minutes is also when I was logging the highest number of VM growth:
<pre>Feb 6 12:42:35 einstein DirectoryService[26]: Potential VM growth in DirectoryService since client PID: 0, has 875 open references when the warning limit is 500.
</pre>
top-guide.pl log's these vaulues:
<pre>
CPU usage: 300-s Reads/sec: Writes/sec: Net in/sec: Net out/sec: kernel
Time: user sys Idle avg. number MB number MB pkts Mb pkts Mb CPU%
12:46:29 8.0 3.8 88.3 87.4 0 0.0 65 3.1 2138 21.3 2081 11.4 3.7
12:46:39 5.8 3.7 90.6 87.5 4 0.1 30 2.8 2166 21.2 2108 11.2 3.9
12:46:49 5.4 4.5 90.1 87.5 0 0.0 22 3.1 2210 21.4 2180 11.7 4.0
12:46:59 10.3 4.6 85.1 87.3 0 0.0 54 3.1 2123 21.2 2091 11.4 3.8
12:47:09 13.8 5.2 81.0 86.9 0 0.0 46 3.2 2110 21.2 2071 11.4 3.9
12:47:19 4.7 3.1 92.2 87.0 4 0.1 24 2.6 2109 21.1 2073 11.4 3.7
12:47:29 5.0 3.8 91.2 87.6 0 0.0 58 3.3 2136 21.2 2110 11.3 3.8
12:47:39 5.4 3.6 91.0 87.6 35 0.5 61 2.9 2091 21.3 2042 11.4 3.8
12:47:49 7.9 5.9 86.2 87.5 61 0.7 54 4.8 2424 23.8 2409 13.8 4.5
12:47:59 5.2 4.1 90.8 87.4 0 0.0 52 3.7 2224 21.4 2222 12.2 4.0
12:48:09 15.9 5.9 78.2 87.0 0 0.0 25 3.0 2146 21.1 2127 11.8 4.0
12:48:19 7.4 3.4 89.2 87.1 0 0.0 15 2.6 2129 21.2 2111 11.8 3.6
12:48:29 4.9 3.7 91.4 87.2 0 0.0 34 2.9 2176 21.4 2158 11.8 3.7
12:48:39 4.9 3.7 91.4 88.0 0 0.0 18 2.6 2128 21.0 2118 11.8 3.7
12:48:49 5.6 4.5 89.9 88.1 0 0.0 35 2.7 2097 21.2 2082 11.7 3.7
12:48:59 6.8 4.6 88.7 88.0 0 0.0 60 3.1 2204 21.4 2228 12.1 4.0
12:49:09 5.6 4.0 90.4 88.0 0 0.0 15 2.9 2091 21.3 2072 11.7 3.6
12:49:20 13.9 4.9 81.2 87.6 0 0.0 14 2.7 2103 21.2 2084 11.6 3.7
12:49:30 9.1 4.0 86.9 87.5 1 0.1 70 2.8 2111 21.1 2129 12.1 3.8
12:49:40 7.4 4.8 87.8 87.3 1 0.0 52 4.5 2195 21.4 2200 12.0 4.1
</pre>

Similar Messages

  • How to split words in two arrays depending of the first letter.

    Yes, how to split words in two arrays depending of the first letter.
    I have a string array with some words, and I need to separe this array into two differents string arrays depending of the first letter:
    if the word starts in A to M the word goes to array Words_AM;
    if the word starts in N to Z the word goes to array Words_NZ;
    Now I'm doing the next:
    if ((ArrayWord.charAt(0))<='a') && (ArrayWord.charAt(0)>='m'))                                        {                                                                                          
    Words_AM]=ArrayWord;
    else
    Words_NZ[i]]=ArrayWord;
    But doesn't work.
    Any solution?
    Best wishes.

    Yes , that's true. But also I have to change the <='a' to <'a', because of with first option didn't selecting the a letter.
    But with z letter, doing the same before, doens't run.
    if ((ArrayWord.charAt(0))<'a') || (ArrayWord.charAt(0)>='m'))
       Words_NZ]=ArrayWord;
    else
    if ((ArrayWord.charAt(0))<='n') || (ArrayWord.charAt(0)>'z')) Words_AM[i]]=ArrayWord;
    Regards ;)

  • How to split currency into two parts at dot

    Hi,
    I am working in ECC6.0.
    how can I split a currency field into two parts split at dot ( . )
    I cannot use SPLIT AT  for currency field. All FMs I found does not works for currency.
    Reagrds,
    Divya

    DId u check G_DECIMAL_PLACES_GET ?
    You can use this FM to find the decimal places in the currency .

  • Tabular report, how to split row into two lines per record

    Hi, I have a tabular report based on a collection. The collection has 15 fields and appears horizontally across the screen. I would like to have a break after the 5th column so that each row is on two lines instead of one. Is this possible...any information would be helpful.
    a shortened query is: and I would like the break to be between c028 and c029.
    thanks
    Karen
    Select apex_item.select_list_from_lov_xl
    (28,
    c028,
    'GEARS',
    'style="width:200px;background-color:#FBEC5D; "'
    || 'onchange="f_set_casc_gear(this,f29_'
    || LPAD (seq_id, 4, '0')
    || ')"',
    'YES',
    '0',
    '- Select Gear -',
    'f28_' || LPAD (seq_id, 4, '0'),
    NULL,
    'NO'
    ) gear_code,
    apex_item.select_list_from_query(29,
    c029,
    'select lma_desc e, lma_code r
    from lobster_mgmt_area
    where 1 in (select 1 from gears where gear_code = '
    ||nvl(c028,0)
    ||' AND (type_code in (''005'') and category_code in (''160'')) OR ('
    ||nvl(c028,0)
    ||' in (''130'')) ) order by lma_code ',
    'style="width:75px"',
    'YES',
    '0',
    '- Select -',
    'f29_' || LPAD (seq_id, 4, '0'),
    NULL,
    'NO') lma_code,
    apex_item.text
    (30,
    c030,
    6,
    NULL,
    'style="width:50px;background-color:#FBEC5D;"'
    ) gear_quantity
    from collections where collection_name = 'EFFORT_C'

    Hello Karen,
    >> and each field needs to be updateble ( concatenating two fields does not allow for that).
    Did you notice the ‘&lt;br />’ component, as part of the columns concatenations?
    The following example is using the same principle – every two updatable column, from the employees table, are sharing the same tabular form row - http://htmldb.oracle.com/pls/otn/f?p=22710:420 . The report query is:
    select apex_item.text(10,first_name)||'<br />'||apex_item.text(11,last_name) col01,
    apex_item.text(12,phone_number)||'<br />'||apex_item.text(13,email) col02,
    apex_item.text(14,salary)||'<br />'||apex_item.text(15,commission) col03
    from employeesThe same principle is being used to define custom headings.
    Hope this time it will be more clear.
    Regards,
    Arie.

  • How to split  the records into two parts

    Hi experts,
    I have a field with 75 char length, this field have records also, Now i want to split the field into two differnt fields. That means upto first 40 char goes to one field, from 41st char to 70 char goes to another field, for that how to split record into two parts.
    Plz advice this,
    Mohana

    Hi,
    Do the following:
    f1 = fsource(40).
    f2 = fsource+40(30).
    where fsource is the 70 character original string and target strings are f1 (length 40) and f2 (length 30).
    Cheers,
    Aditya
    Edited by: Aditya Laud on Feb 22, 2008 2:10 AM

  • Split String into two

    HI,
    How to Split String into two parts at delimiter

    HI,
    REPORT ZSTRING.
    DATA: LENGTH TYPE I,    
          REMAINING_LENGTH TYPE I ,   
          NEXT_POINTER TYPE I    ,   
          FIRST_HALF(20)  TYPE C ,    
          SECOND_HALF(20) TYPE C ,    
          TEMP TYPE I .
    PARAMETER: WORD(35) TYPE C . "INPUT WORD
    START-OF-SELECTION.
    LENGTH = STRLEN( WORD ).      "Length of the input String
    SEARCH WORD FOR '/'.
        IF SY-SUBRC = 0 .  
          IF SY-FDPOS > 0.   
          MOVE WORD+0(SY-FDPOS) TO FIRST_HALF.  
          ENDIF.  
       TEMP = SY-FDPOS + 1. 
       IF TEMP <> LENGTH.    
       NEXT_POINTER = SY-FDPOS + 1.    
       REMAINING_LENGTH = ( LENGTH - SY-FDPOS ) - 1.    
       MOVE WORD+NEXT_POINTER(REMAINING_LENGTH) TO SECOND_HALF.  
       ENDIF.
    ENDIF.
    WRITE:/'Input String:', WORD .
    WRITE:/'First  Half:', FIRST_HALF.
    WRITE:/'Second Half:', SECOND_HALF.
    *-- End of Program
    Reward Points if found helpfull..
    Cheers,
    Chandra Sekhar.

  • How to split presentation level and business level using two ATG instances

    Hello All!
    We are investigating possibility of splitting ATG presentation (web store with jsp pages and other presentation components) and business (ATG components such as Pricing, Catalog, etc.) levels. The first idea that we have is simply start two instances of ATG. One instance will serve client requests (presentation level) and communicates with another ATG instance (business level) where all ATG components are situated.
    The main problem is a Nucleus container which is used for accessing all ATG components. And we don't know right solution how to point to a Nucleus container that is situated on a remote ATG instance. Right now we have two ideas how to establish communication between two ATG instances:
    - try to replace local Nucleus container by remote one using RMI;
    - do not replace Nucleus container by implementing some custom filter that can redirect all servlet requests to another ATG instance. In that case we will have two Nucleus containers.
    What do you think about all this? Do you have any other solutions how to solve the task? Maybe we lost something? Can we deploy a cluster of ATG instances that will communicate between each other?
    Thanks in advance.
    Andrey.
    Edited by: 945758 on Jul 11, 2012 7:00 AM

    Yes ATG system can have multiple nodes grouped in one or more clusters managed by load balencer
    If the services you are talking about are inherently ATG services like login, add to cart, checkout then its better to implement it with ATG.
    ATG provides and support both REST and SOAP based Webservice and allows you to expose any ATG component as service thus making it available outside ATG space.
    To be able to manage load better you can split your servers to page serving servers and services oriented servers and place them into multiple clusters.
    Though I haven't seen anyone using this kind of topology so not sure whether it's there is any challenge in setting up this topology.

  • How to set up NAT for two servers using same port with ASDM ASA 5505

    Hi there,
    We have a new installation of a ASA 5505 and are trying to get some NAT issues straightened out. Here is the scenario: On our internal network, we have two servers running Filemaker Server, a relational database server that clients connect with using port 5003. Our goal is to be able to allow users from the outside to access either of these servers as needed. I know how to set up a simple static NAT rule and matching Access rule in ASDM which would be fine for a case in which only one server using a given port is running on a network, but for simple static rules I seem to be blocked from entering a different translated port number from the orginal port number, which becomes a problem when two servers we need to access from the outside are running software using the same port number.
    What is the simplest way to address this need? I am guessing that I need to set up a scenario like this, where port 5004 (or any arbitrarily choosen unused port, can be used to access the second server:
    Outside user enters   FQDN:5004  and this translates to Database server # 1 as   192.168.1.40:5003
    and
    Outside user enters   FQDN:5003  and this translates to Database server # 1 as   192.168.1.38:5003
    If so, what is the easist way to get this done? Or is there a better what to handle this scenario?
    Thanks in advance,
    James

    I would create two objects and use object NAT
    object network Obj_5004
    host 192.168.1.40
    object network Obj_5004
    nat (inside,outside) static service tcp 5003 5004
    object network Obj_5003
    host 192.168.1.38
    object network Obj_5003
    nat (inside,outside) static service tcp 5003 5003
    Of course you will need to open your outside interface for tcp ports 5003 and 5004 to make this happen

  • How e-mail is routed between two servers

    Hi ,
    Please anybody tell me how e-mail is routed between two servers , from the software point of view as well as hardware point of view .
    And how Java mail API related to that .
    Thanks,
    Kiz

    If you're looking for a simple answer there isn't one. Here's a place to start.
    http://community.roxen.com/developers/idocs/rfc/rfc974.html

  • How to split a page in to two in smart form

    how to split a page into two in smart form, so that the data that is printed in one column when reaches the end of the column, continues with the second column?

    if u r using a secondary window.........it cannot possible to split..........
    if u r using a main window............sap will take care abt data flow in to second page...
    if u have any restrictions to print 10 records in one page and another 10 records in another page....keep a page break....or mantion the page break in condtions tab....
    reward points if helpful.............

  • How to SPLIT ONE STEREO TRACK'S L & R CHANNELS INTO TWO MONO CHANNELS

    Does anyone know if this is possible: How to SPLIT ONE STEREO TRACK'S L & R CHANNELS INTO TWO MONO CHANNELS?  There's got to be a way, but I just can't find out how.
    I recorded a podcast -- me and a guest, with each mic going to its own mono channel. When I opened it in Audition it mixed them into one stereo channel. 
    Thanks in advance for any help.
    Best,
    Shawn 

    You're a big help! Thanks very much.  Simple yet I must be going blind because I didn't see that in the menu.
    Take care and THANKS AGAIN.
    Shawn

  • How to Break the cluster between Two servers

    Hi Experts,
    Since Iu2019m new to BOBJ XI R2.I would like to know how to break the cluster between two servers.
    Description :
    So far we took the copy of QAS Server1 to the new QAS server2 (Through Mirroring Tool ). Now those two servers are cluster together, I can see QAS server1 CMS Name, Cluster Name, cluster member name in QAS Server2 (CMC-> Setting -> Cluster).
    Besides in QAS Server1 CMS Name and Cluster name are pointing to the QAS Server1, except Cluster Member (This is still have two members Server1 and Server2).(CMC-> Setting -> Cluster).
    In QAS Server1 and QAS Server2 (CMS-> Servers), I can able see both server name under Machine Name tab.
    I would like to make those two servers as independent servers. There are two different data source for those two servers. I want to remove the cluster in both servers.
    Right now QAS Server1 is running and QAS Server2 is stopped.
    If i create/modify a group under new Mapped NT Member Groups in QAS server2 ,it is getting reflecting in QAS server 1.
    Could you please tell me the steps to resolve this problem.
    BO Version: BO XI R2
    Regards,
    Sridharan

    Hi,
    Maybe the external CMS is still 'attached' to your SIA node. Please go to the CCM (Central Configuration Manager) and stop the SIA (Server Intelligent Agent). On one of the tabs you can see if there is an external CMS part of your environment. Delete it and restart the SIA. Retry if you can delete the services now from within your CMS. It may well be that you have to stop both environments and delete each others CMS via the CCM to get it working. If you have not changed any permissions for your Administrator account the security model will not be the one causing this.
    Hope this helps...
    Martijn van Foeken
    Focuzz BI Services
    http://www.focuzz.nl
    http://nl.linkedin.com/in/martijnvanfoeken

  • How to split a video clip into two separate clips?

    Whenever i enter the key word to search for split, it always shows me how to do split edit, or split screen. I do not want that. I just need to know, how to cut a video/audio clip into two pieces, so that I can cut one of them out of the time line....
    Could somebody help....
    Thanks

    I have a sandwich. I have been searching how to split the sandwich but it seems you don't split a sandwich. Someone said look in a draw for a tool or something!
    Wow.
    There are lots of ways to do what you're asking besides what has been said. You can double click the clip in the Browser. Set In & Out points in the viewer and add the Clip to the sequence. No need to split or cut anything in the sequence.
    You really need to learn a bit more before you continue cause this is a pre-noob question. I don't really know how to categorise it.

  • How to split a "project" (movie) into two separate projects.

    After converting two Hi-eight tapes into digital format for use with iMovie 10.0.3 (?), I created a movie called "Japan 1994" , complete with titles, imported still photos, etc. But it was over 2 hours long. (My wife considers any movie longer than 29 minutes 59 seconds as cruel and unusual punishment under the U.S. constitution). So I went to Imovie "Help" .....Hah!!!, surfed the web with my problem, with further frustration. So, I devised my own method:
      1. Created two new (empty) movies, "Nihon 1" and "Nihon 2" (Nihon=Japan, in Japanese)
    2. In  "Japan 1994", found a convenient break point rougly half way through, shift selected several clips up to the half way point.
    3. copied all of these at one time (command C)
    4. Opened "Nihon 1" and pasted (command V) these clips into this project.
    5. Repeated steps 2, 3, 4 for the second "half" (into "Nihon 2")
    All of this produced two separate projects of around 1 hour each. Added appropriate titles at the beggining and end of each of the new movies.
    Worked like a charm.
    Hope this helps other users of iMoive 10. (whatever).
    lawrence268

    I have a sandwich. I have been searching how to split the sandwich but it seems you don't split a sandwich. Someone said look in a draw for a tool or something!
    Wow.
    There are lots of ways to do what you're asking besides what has been said. You can double click the clip in the Browser. Set In & Out points in the viewer and add the Clip to the sequence. No need to split or cut anything in the sequence.
    You really need to learn a bit more before you continue cause this is a pre-noob question. I don't really know how to categorise it.

  • How to split a PE1 project into two smaller projects?

    I have a 1hr 36 min. project in PE1.  I want to split it into two different projects of about 48 min. each and burn two DVDs.  My intent is to get a better MPEG resolution for these smaller projects.
    Can I select half of the timeline, cut it and paste it into a new project?  Would the effects be preserved?  I have a week of work invested in this project and I don’t want to screw it up!
    Thanks
    Fred J.

    FredJ,
    Welcome to the forum.
    I agree with both Neale and Steve, though it might at first appear that they are saying two different things.
    The bit-rate in the Transcoding to MPEG-2 will be determined by the Duration of the Timeline and the capacity of the blank media, whether DVD-5, or DVD-9. In most versions of PrE, this bit-rate will be a function of the Quality Slider, but the ultimate bit-rate for the combined video and audio is set in the DVD-specs. One cannot exceed about 8 b/s.
    Now, with your Duration, there might be a very slight increase in the bit-rate, were you to take Neale's advice and break your Project into two parts, however, I think that his advice to study the result of your entire Timeline is good, as I doubt that one could tell the differences, unless you have a great deal of fast motion, of either the camera, or the subject, and then it's likely that the quality would appear to be the same to the human eye.
    Steve is correct in that the result will have to be within the DVD-specs, and will only be 720x480, at up to that max. bit-rate. That is as good as it gets.
    For the ultimate test, I would take Neale's suggestion on Burning to Folder one step further. Once that is done, you can first test your Project with a DVD software program on your computer. BUT, be aware that you are viewing on a higher-rez, progressive computer monitor, and its rez will exceed that of a TV and that of a DVD-Video disc. Thus, it is not a perfect test. To get an idea of how the DVD will look on a set-top player, hooked to a TV, you can either, also burn to a DVD RW (rewritable disc) to test on a set-top player, or you can use the free burning utility, ImgBurn, to burn to a DVD RW and test. The reason for the Rewritable media is so that you can reuse it for testing. You will NOT be using this disc for delivery, but just for testing. Now, if you feel that very slight decrease in bit-rate is noticed, you can go back to his suggestion on how to split the Project, and then produce a multi-disc. set for the Project.
    Also, the ultimate quality and also playability of the DVD-Video will be enhanced if you use quality blank media. I strongly recommend Verbatim, or Taiyo Yuden blank media. Brands like Memorex, TDK, recent Ritek and ALL "store-brands," are to be avoided. One is also best served by buying slower speed media, as PrE will measure the speed of the media and the speed of the drive and try to get you the fastest possible burn. It does not allow you to set the speed of the burn manually. Most people feel that stepping down from a max. burn speed produces a better DVD. I routinely will drop the burn speed (in other software) to about 1/2 of the max., and have had thousands of perfect DVD's. One can set the burn speed in the above mentioned ImgBurn utility.
    To distill the above: try it and see if your Project isn't perfect now, and if not, then break it apart into two segments. I doubt that you could tell the difference.
    Good luck,
    Hunt

Maybe you are looking for

  • Missing firmware password, can't access boot options

    Hi, I own a Macbook Pro (13") which I bought from Ebay a few months ago. I recently changed my password to my administrator account, but I cannot remember it. I know of several bypasses to this, but as I attempt each one, they all seem blocked by a f

  • TS1702 Apple update App not working.

    You know the area in the App Store where you update your apps, it's not working. It's shows the # of apps to be updated, but it does have the apps in the update window, it's just blank. So I'm not able to update my apps. I've turned my phone off and

  • Change a global variable with a function

    HI ALL! I have the following problem... I would like to change a global variable with a void function so not like this: variable = function(); . What do you suggest? Best regards, Korcs

  • Rollover images on navigational bar items

    Has anyone implemented rollover images on navigational bar items to change colors of the images when passed over and out? I already have the images. From what I can determine, I believe I need an onMouseOver and onMouseOut event defined in my navigat

  • Problem with jsp 2.0

    Hi, I know this has been discussed before, but after trying out the solutions, I still can't get it to work. When trying to use the uri http://java.sun.com/jsp/jstl/core for the core library, I get this error message: org.apache.jasper.JasperExceptio