svnmanger apache svn 性能优化

硬件升级

CPU 内存,磁盘SSD

打开批量模式

SVNAllowBulkUpdates Prefer  

禁用apache压缩和部分无需使用的模块(单进程下非常占用CPU)

LoadModule access_compat_module modules/mod_access_compat.so  
#LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so  
#LoadModule allowmethods_module modules/mod_allowmethods.so
LoadModule auth_basic_module modules/mod_auth_basic.so  
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_core_module modules/mod_authn_core.so  
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_file_module modules/mod_authn_file.so  
#LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule authz_core_module modules/mod_authz_core.so  
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so  
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so  
LoadModule autoindex_module modules/mod_autoindex.so  
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule data_module modules/mod_data.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so  
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule echo_module modules/mod_echo.so
LoadModule env_module modules/mod_env.so  
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule filter_module modules/mod_filter.so  
#LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so  
#LoadModule info_module modules/mod_info.so
LoadModule log_config_module modules/mod_log_config.so  
LoadModule logio_module modules/mod_logio.so  
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so  
#LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule rewrite_module modules/mod_rewrite.so  
LoadModule setenvif_module modules/mod_setenvif.so  
#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule suexec_module modules/mod_suexec.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule unixd_module modules/mod_unixd.so  
LoadModule userdir_module modules/mod_userdir.so  
LoadModule version_module modules/mod_version.so  
#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule buffer_module modules/mod_buffer.so
LoadModule watchdog_module modules/mod_watchdog.so  
#LoadModule heartbeat_module modules/mod_heartbeat.so
#LoadModule heartmonitor_module modules/mod_heartmonitor.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule dialup_module modules/mod_dialup.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
#LoadModule reflector_module modules/mod_reflector.so
#LoadModule request_module modules/mod_request.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule speling_module modules/mod_speling.so

httpd.conf 优化

ServerRoot "/etc/httpd"  
Listen 80  
Listen 3334  
KeepAlive Off  
Include conf.modules.d/*.conf  
User www  
Group www  
ServerAdmin root@localhost  
<Directory />  
    AllowOverride none
    Require all denied
</Directory>  
DocumentRoot "/var/www/html"  
<Directory "/var/www">  
    AllowOverride None
    Require all granted
</Directory>  
<Directory "/var/www/html">  
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>  
<IfModule dir_module>  
    DirectoryIndex index.html
</IfModule>  
<Files ".ht*">  
    Require all denied
</Files>  
ErrorLog "logs/error_log"  
LogLevel warn  
<IfModule log_config_module>  
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>  
<IfModule alias_module>  
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>  
<Directory "/var/www/cgi-bin">  
    AllowOverride None
    Options None
    Require all granted
</Directory>  
<IfModule mime_module>  
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>  
<IfModule mod_dav_fs.c>  
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
    SVNUseUTF8 On
</IfModule>  
AddDefaultCharset UTF-8  
<IfModule mime_magic_module>  
    MIMEMagicFile conf/magic
</IfModule>  
EnableSendfile on  
LimitXMLRequestBody 0  
LimitRequestBody 0  
#LimitRequestLine 102400
#LimitRequestFieldSize 102400
IncludeOptional conf.d/*.conf  
<IfModule mpm_prefork_module>  
       StartServers        12
       MinSpareServers     12
       MaxSpareServers     12
       MaxClients         300
       MaxRequestsPerChild  5000
</IfModule>  
Timeout 3600  
ServerLimit 20000  

svn.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so  
LoadModule authz_svn_module   modules/mod_authz_svn.so  
Timeout 3600  
<Location /svn>  
  DAV svn
  SVNParentPath /data/svn
  #SVNAllowBulkUpdates Prefer
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /data/svn/passwdfile
  AuthzSVNAccessFile /data/svn/accessfile
    Require valid-user
</Location>

<Directory "/data/svn">  
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

ProxyPass /admin/ http://127.0.0.1:81/  
ProxyPassReverse /admin/ http://127.0.0.1:81/  
ProxyPreserveHost On