mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Avoid database lookups for DescriptionHTML (#18924)
				
					
				
			* Avoid database lookups for `DescriptionHTML`
- Don't Compose meta's for DescriptionHTML, they are only needed in
order to correctly format and show issue's but it's highly unlikely that
a repository description will refer to a local issue.
Using 125 Connections for 5 seconds: on `/explore/repos`(which is the most
noticeable usage by this function's database lookups):
Before:
Statistics        Avg      Stdev        Max
  Reqs/sec       569.41     506.05    2715.00
  Latency      214.27ms    16.60ms   294.84ms
  HTTP codes:
    1xx - 0, 2xx - 2974, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:    27.17MB/s
After:
Statistics        Avg      Stdev        Max
  Reqs/sec      1585.04     789.84    4144.56
  Latency       78.89ms    15.89ms   206.94ms
  HTTP codes:
    1xx - 0, 2xx - 7975, 3xx - 0, 4xx - 0, 5xx - 0
    others - 0
  Throughput:    73.85MB/s
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net>
			
			
This commit is contained in:
		| @@ -520,7 +520,7 @@ func (repo *Repository) DescriptionHTML(ctx context.Context) template.HTML { | ||||
| 	desc, err := markup.RenderDescriptionHTML(&markup.RenderContext{ | ||||
| 		Ctx:       ctx, | ||||
| 		URLPrefix: repo.HTMLURL(), | ||||
| 		Metas:     repo.ComposeMetas(), | ||||
| 		// Don't use Metas to speedup requests | ||||
| 	}, repo.Description) | ||||
| 	if err != nil { | ||||
| 		log.Error("Failed to render description for %s (ID: %d): %v", repo.Name, repo.ID, err) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user