* [gentoo-soc] Project IDFetch - Weekly report #4 ("Growing muscles on skeleton")
@ 2010-06-24 21:46 Kostyantyn Ovechko
0 siblings, 0 replies; only message in thread
From: Kostyantyn Ovechko @ 2010-06-24 21:46 UTC (permalink / raw
To: Robin H.Johnson, gentoo-soc
[-- Attachment #1: Type: text/plain, Size: 10995 bytes --]
-========================================================================-
- Project IDFetch - Weekly report #4 ("Growing muscles on skeleton") -
-========================================================================-
Fresh milk and cottage cheese gradually enforce the skeleton, at the
same time growing muscles on it can take a lot of efforts. Nevertheless
pulling-ups, mirror benchmarking [1], and other things were added to my
program.
NOTE:
Previous weeks i kept writing reports, but while sending
them i used my default email account, which
unfortunately happened to be not the one subscribed to
[gentoo-soc]. Hence, i don't think anybody got them.
Yesterday i resent these reports (better later then
never):
- Project IDFetch - Weekly report #2 ("Replacing
stuff")
- Project IDFetch - Weekly report #3 ("Strawberry
issues")
Since i've already tried writing reports without sending
them, why not to do the opposite - to send a report
without actually writing it ;o)
So please take a look at the list of the options
implemented in segget during the 4th week of IDFetch
project.
IDFetch: adding muscles to segget.conf skeleton:
================================================
[folders]
# DISTFILES_DIR
# Define a dir to store distfiles
# Default:
# distfiles_dir=./distfiles
distfiles_dir=./distfiles
# SEGMENTS_DIR
# Define a dir to store distfiles' segments
# Default:
# segments_dir=./tmp
segments_dir=./tmp
[distfiles]
# MAX_CONNECTION_NUM_PER_DISTFILE
# Each distfile can have up to max_connection_num_per_distfile
# simultaneous connections.
# default:
# max_connection_num_per_distfile=3
max_connection_num_per_distfile=3
[segments]
# MAX_SEGMENT_SIZE
# Define maximum segment size in bytes.
# Default:
# max_segment_size=500000
max_segment_size=500000
# SYNOPSIS: resume_on=0 | 1
# - If resume_on set to 1:
# Before starting downloading a segment segget checks whether this
# segment is already downloaded, checks segments size and if size
# mathces considers this segment to be downloaded and skips downloading
# process.
# - If resume_on set to 0:
# Segget always starts new fetch for a segment regardless of the
# fact whether it is downloaded or not.
# Default:
# resume_on=1
resume_on=1
# MAX_TRIES
# If segment download was unsuccessful, new attempts are made. When
# attempts number reaches max_tries, segment gets FAILED status and
# error logged to error_log.
# Default:
# max_tries=10
max_tries=10
[connections]
# MAX_CONNECTIONS
# Define maximum number of connections
max_connections=10
# CONNECTION_TIMEOUT
# Set the number of seconds to wait while trying to connect. Use 0 to
# wait indefinitely. Pass a long. It should contain the maximum time in
# seconds that you allow the connection to the server to take. This
# only limits the connection phase, once it has connected, this option
# is of no more use. Set to zero to disable connection timeout (it will
# then only timeout on the system's internal timeouts). See also the
# TIMEOUT option.
# Default:
# connection_timeout=15
connection_timeout=15
# FTP_RESPONSE_TIMEOUT
# Set a timeout period (in seconds) on the amount of time that the
# server is allowed to take in order to generate a response message for
# a command before the session is considered hung. While awaiting for a
# response, this value overrides TIMEOUT. It is recommended that if
# used in conjunction with TIMEOUT, you set FTP_RESPONSE_TIMEOUT to a
# value smaller than TIMEOUT.
# Default:
# ftp_response_timeout=180
ftp_response_timeout=180
# TIMEOUT
# maximum amount of time to download segment in seconds
# Set the maximum number of seconds for a connection to execute.
# Pass a long as parameter containing the maximum time in seconds that
# you allow the transfer operation to take. Normally, name lookups can
# take a considerable
# time and limiting operations to less than a few minutes risk aborting
# perfectly normal operations.
# Default:
# timeout=500
timeout=500
# LOW_CONNECTION_SPEED_LIMIT
# Define the low speed limit for connection. Pass a long as parameter.
# It contains the transfer speed in bytes per second that the transfer
# should be below during LOW_CONNECTION_SPEED_TIME seconds to consider
# it too slow and abort.
# Default:
# low_connection_speed_limit=1000
low_connection_speed_limit=1000
# LOW_CONNECTION_SPEED_TIME
# Pass a long as parameter. It contains the time in seconds that the
# transfer should be below the LOW_CONNECTION_SPEED_LIMIT to consider
# it too slow and abort.
# Default:
# low_connection_speed_time=10
low_connection_speed_time=10
# MAX_CONNECTION_SPEED
# If a download exceeds this speed (counted in bytes per second) on
# cumulative average during the transfer, the transfer will pause to
# keep the average rate less than or equal to the parameter value.
# Defaults to unlimited speed.
# Default:
# max_connection_speed=0
max_connection_speed=0
# BIND INTERFACE / IP
# Pass a string as parameter. This sets the interface name to use as
# outgoing network interface. The name can be an interface name, an IP
# address, or a host name. No binding is set by default.
# Default:
# bind_interface=none
bind_interface=none
[mirrors]
# MAX_CONNECTIONS_NUM_PER_MIRROR
# Define how many simultaneous downloads from one mirror segget is
# allowed to have. While choosing a mirror segget will skip mirrors
# with max_connections_num_per_mirror active downloads.
# Default:
# max_connections_num_per_mirror=1
max_connections_num_per_mirror=1
# SYNOPSIS: collect_benchmark_stats_on=0 | 1
# - If set to 1, stats on mirrors performance will be collected.
# default:
# collect_benchmark_stats_on=1
# ***Note: at the moment collect_benchmark_stats_on can NOT be set to 0
collect_benchmark_stats_on=1
# SYNOPSIS: use_benchmark_stats=0 | 1
# If use_benchmark_stats=1 statistics on mirrors is used to rate them
# and therefore improve performance.
# Each time connection from a particular mirror closes mirror->dld_time,
# and mirror->dld_size get increased (in case of unsuccessful connection
# only time gets increased), so avg speed for a mirror can be
# calculated:
#
# mirror->avg_speed=mirror->dld_size/mirror->dld_time. (1)
#
# When new segment is going to be started segget goes through the list of
# the mirrors distfile/segment has, and asks each mirror for self_rating:
#
# "ulong self_rating=mirror->mirror_on_the_wall();".
#
# This way segget chooses a mirror with the best self_rating. To calculate
# self_rating mirrors use the following formula:
#
# self_rating=dld_time/dld_size*honesty. (2)
#
# So mirrors actually say how bad they are.
# Even mirrors can have critical times, so to give mirrors another chance
# honesty was added to the formula (2). honesty can get values in
# interval (0,1]. Each time connection from a mirror opens or closes mirror
# sets its honesty=1. If mirror was asked for self_evaluation with
# mirror->mirror_on_the_wall(), but wasn't chosen its honesty decreases
# somewhat (see [mirror].benchmark_oblivion option), so next time it will
# lie little bit more about how bad it's.
# Default:
# use_benchmark_results=1
# ***Note: at the moment use_benchmark_results can NOT be set to 0
use_benchmark_stats=1
# BENCHMARK_OBLIVION
# benchmark_oblivion option allows to adjust how fast segget "forgets"
# benchmarking statistics on mirrors performance.
# Each time mirror->mirror_on_the_wall() called, mirror decreases its
# honesty (to have more chances next time) using the following formula:
#
# honesty=honesty*100/(100+settings.benchmark_oblivion) (3)
#
# Therefore, setting benchmark_oblivion=100 will make mirror look twice
# less bad next time mirror->mirror_on_the_wall() called.
# Default:
# benchmark_oblivion=5
benchmark_oblivion=5
[user-data]
# USER_AGENT
# Set the User-Agent: header in the http request sent to the remote
# server.
# This can be used to fool servers or scripts.
# Default:
# user_agent=segget
user_agent=segget
[proxy]
# PROXY_IP_OR_NAME
# Specify a proxy to use (address and port).
# Set HTTP proxy to use. The parameter should be a string holding the
# proxy host name or dotted IP address. To specify port number in this
# string, append :[port] to the end of the host name. The proxy string
# may be prefixed with [protocol]:// since any such prefix will be
# ignored. The proxy's port number may optionally be specified with the
# separate option. If not specified, by default port 1080 will be used
# for proxies. When you tell segget to use an HTTP proxy, segget will
# transparently convert operations to HTTP even if you specify an FTP
# URL etc. Segget respects the environment variables http_proxy,
# ftp_proxy, all_proxy etc, if any of those are set. The PROXY option
# does however override any possibly set environment variables.
# Default:
# proxy_ip_or_name=none
proxy_ip_or_name=none
# PROXY_PORT
# Set the proxy port to connect to unless it is specified in the PROXY
# option.
# Default:
# proxy_port=3128
proxy_port=3128
# PROXY_USER
# Set user name to use for the transfer while connecting to Proxy.
# The PROXY_USER option should be used in same way as the
# PROXY_PASSWORD is used. In order to specify the password to be used
# in conjunction with the user name use the PROXY_PASSWORD option.
# Default:
# proxy_user=none
proxy_user=none
# PROXY_PASSWORD
# Set password to use for the transfer while connecting to Proxy.
# The PROXY_PASSWORD option should be used in conjunction with the
# PROXY_USER option.
# Default:
# proxy_password=none
proxy_password=none
# SYNOPSIS: proxy_off=0 | 1
# Setting the proxy_off=1 will explicitly disable the use of a proxy,
# even if there is an environment variable set for it.
# Default:
# proxy_off=1
proxy_off=1
[logs]
# LOGS_DIR
# Define a dir to store log files.
# Default:
# logs_dir=./logs
logs_dir=./logs
# GENERAL_LOG_FILE
# Define a file name to store general log.
# Default:
# general_log_file=segget.log
general_log_file=segget.log
# ERROR_LOG_FILE
# Define a file name to store error log.
# Default:
# error_log_file=segget.log
error_log_file=error.log
# DEBUG_LOG_FILE
# Define a file name to store debug log.
# Default:
# debug_log_file=segget.log
debug_log_file=debug.log
[1]http://www.twolia.com/blogs/daily-beauty-break/files/2010/04/mirror-on-the-wall.jpg
Best regards,
Kostyantyn Ovechko AKA simka
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2010-06-24 21:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-24 21:46 [gentoo-soc] Project IDFetch - Weekly report #4 ("Growing muscles on skeleton") Kostyantyn Ovechko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox