Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
G
gracedb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 99
    • Issues 99
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 1
    • Merge Requests 1
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • lscsoft
  • gracedb
  • Issues
  • #191

Closed
Open
Opened Jan 29, 2020 by Alexander Pace@alexander.paceMaintainer

apache improvements

Making notes here about ways to optimize connections via apache. I was reading through some sources about apache worker concurrency (since CPU usage seems to be a bottleneck? at least that's an operative theory), here's an informative one:

https://serverfault.com/questions/775855/how-to-configure-apache-workers-for-maximum-concurrency

So I need to find out which modules are being loaded and what settings are being used. Here's the setup for dev2 and playground (AWS).

gracedb-dev2:

root@gracedb-dev2:/etc/apache2# apachectl -M | grep mpm
 mpm_worker_module (shared)
root@gracedb-dev2:/etc/apache2# cat mods-enabled/worker.conf
<IfModule mpm_worker_module>
  ServerLimit         25
  StartServers        2
  ThreadLimit         64
  MaxClients          150
  MinSpareThreads     25
  MaxSpareThreads     75
  ThreadsPerChild     25
  MaxRequestsPerChild 0
  ListenBacklog       511
</IfModule>

gracedb-playground:

root@17b0c88a4c4f:/etc/apache2# apachectl -M | grep mpm
 mpm_event_module (shared)
root@17b0c88a4c4f:/etc/apache2# cat mods-enabled/mpm_event.conf
# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestWorkers: maximum number of worker threads
# MaxConnectionsPerChild: maximum number of requests a server process serves
<IfModule mpm_event_module>
	StartServers			 2
	MinSpareThreads		 25
	MaxSpareThreads		 75
	ThreadLimit			 64
	ThreadsPerChild		 25
	MaxRequestWorkers	  150
	MaxConnectionsPerChild   0
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

So that's a start at least. They look to be the same (I'm assuming the default...), but i have some knobs to tweak potentially. I'll look into doing some testing with ab and siege and see what i can come up with.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: lscsoft/gracedb#191