VERBOSE OFF # various logs ACCESS_LOG_FILE_NAME null RETRIEVAL_LOG_FILE_NAME null ERROR_LOG_FILE_NAME null STAT_LOG_FILE_NAME /usr/local/chamomile/logs/stat_log # mime type table MIME_TYPE_FILE_NAME /usr/local/chamomile/conf/mime.types # statistics output interval N_ALARM_SEC 5 # cell and object N_CELL_MAX 750000 N_OBJECT_MAX 100000 N_OBJECT_GC 256 OBJECT_ROOT /usr/local/chamomile/htdocs DISK_CACHE_ROOT /usr/local/chamomile/cache DISKLESS_MODE ON INIT_DISKCACHE NO MEM_CACHE_HOLD_MIN 150 MEM_CACHE_HOLD_INC 30 N_DISK_HASH_ENTRY 503 # user id and group id EFFECTIVE_USERNAME nobody EFFECTIVE_GROUPNAME nobody # pid files PID_FILE_NAME /var/tmp/chamomile.pid ROTATOR_PID_FILE_NAME /var/tmp/chamomile_rotator.pid # connection configuration HTTP_PORT 80 TCP_BACKLOG 4096 # listener LISTENER_YIELD_EACH_CYCLE NO # proxy N_PROXY 2 PROXY_N_NEW_REQUEST 0 PROXY_POLLFD_SIZE 2048 PROXY_POLL_TIMEOUT 0 PROXY_PUT_NEW_CONN_BOTTOM YES OBJ_CHECK_INTERVAL 60000 OBJ_RETRIEVAL_INTERVAL 60000 PROXY_YIELD_EACH_CYCLE NO PROXY_SLEEP_EACH_CYCLE NO # retriever N_RETRIEVER 1 REVERSE_PROXY_MODE ON PROXY_MODE OFF ORIGIN_SERVER 172.16.108.191:80,172.16.108.192:80 RETRIEVER_PUT_NEW_CONN_BOTTOM NO RETRIEVER_N_NEW_REQUEST 0 RETRIEVER_POLLFD_SIZE 1024 RETRIEVER_POLL_TIMEOUT 0 RETRIEVER_YIELD_EACH_CYCLE YES RETRIEVER_SLEEP_EACH_CYCLE NO # for resolver N_RESOLVER 1 ADDR_ENTRY_EXPIRE 360000 ADDR_ERROR_ENTRY_EXPIRE 0 # for connections CLIENT_RCVBUF 65536 CLIENT_SNDBUF 65536 SERVER_RCVBUF 65536 SERVER_SNDBUF 65536 N_CLIENT_CONN_MAX 3000 N_CLIENT_REQ_MAX 3000 N_SERVER_CONN_MAX 1500 N_CLIENT_REQ_A_CONN_MAX 1 CONNECTION_TIMEOUT 600 CONNECTION_TIMEOUT_MAX 1200 SERVER_CONNECTION_TIMEOUT 600 URGE_CONNECTION_CLOSE YES WAIT_CLIENT_CLOSE NO # for disk i/o thread N_DISK_IO_THREAD 64 IO_QUEUE_LEN_READ_THRESH 256 IO_QUEUE_LEN_READ_MAX 768 IO_QUEUE_LEN_WRITE_THRESH 256 IO_QUEUE_LEN_WRITE_MAX 512
VERBOSE OFF # various logs ACCESS_LOG_FILE_NAME null RETRIEVAL_LOG_FILE_NAME null ERROR_LOG_FILE_NAME null STAT_LOG_FILE_NAME /usr/local/chamomile/logs/stat_log # mime type table MIME_TYPE_FILE_NAME /usr/local/chamomile/conf/mime.types # statistics output interval N_ALARM_SEC 5 # cell and object N_CELL_MAX 450000 N_OBJECT_MAX 60000 N_OBJECT_GC 256 OBJECT_ROOT /usr/local/chamomile/htdocs DISK_CACHE_ROOT / DISKLESS_MODE OFF INIT_DISKCACHE NO MEM_CACHE_HOLD_MIN 200 MEM_CACHE_HOLD_INC 40 N_DISK_HASH_ENTRY 349 # user id and group id EFFECTIVE_USERNAME nobody EFFECTIVE_GROUPNAME nobody # pid files PID_FILE_NAME /var/tmp/chamomile.pid ROTATOR_PID_FILE_NAME /var/tmp/chamomile_rotator.pid # connection configuration HTTP_PORT 8080 TCP_BACKLOG 4096 # listener LISTENER_YIELD_EACH_CYCLE NO # proxy N_PROXY 1 PROXY_N_NEW_REQUEST 0 PROXY_POLLFD_SIZE 2048 PROXY_POLL_TIMEOUT 0 PROXY_PUT_NEW_CONN_BOTTOM YES OBJ_CHECK_INTERVAL 60000 OBJ_RETRIEVAL_INTERVAL 60000 PROXY_YIELD_EACH_CYCLE NO PROXY_SLEEP_EACH_CYCLE NO # retriever N_RETRIEVER 1 REVERSE_PROXY_MODE OFF PROXY_MODE ON ORIGIN_SERVER 172.16.101.191:80,172.16.101.192:80,172.16.101.193:80 RETRIEVER_PUT_NEW_CONN_BOTTOM NO RETRIEVER_N_NEW_REQUEST 0 RETRIEVER_POLLFD_SIZE 1024 RETRIEVER_POLL_TIMEOUT 0 RETRIEVER_YIELD_EACH_CYCLE NO RETRIEVER_SLEEP_EACH_CYCLE NO # for resolver N_RESOLVER 4 ADDR_ENTRY_EXPIRE 360000 ADDR_ERROR_ENTRY_EXPIRE 0 # for connections CLIENT_RCVBUF 65536 CLIENT_SNDBUF 65536 SERVER_RCVBUF 65536 SERVER_SNDBUF 65536 N_CLIENT_CONN_MAX 3000 N_CLIENT_REQ_MAX 3000 N_SERVER_CONN_MAX 2500 N_CLIENT_REQ_A_CONN_MAX 1 CONNECTION_TIMEOUT 300 CONNECTION_TIMEOUT_MAX 600 SERVER_CONNECTION_TIMEOUT 600 URGE_CONNECTION_CLOSE YES WAIT_CLIENT_CLOSE NO # for disk i/o thread N_DISK_IO_THREAD 80 IO_QUEUE_LEN_READ_THRESH 256 IO_QUEUE_LEN_READ_MAX 768 IO_QUEUE_LEN_WRITE_THRESH 256 IO_QUEUE_LEN_WRITE_MAX 512
Product full name is Chamomile. Product cost is $2500. The bench was using Alteon AceSwitch 110 8x10/100Mbps + 2xGbps switch to aggregate client and server traffic.
According to the participant, the following changes were applied to the configuration above: