mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	[mod] /image_proxy: use HTTP/1 instead of HTTP/2
httpx: HTTP/2 is slow when a lot data is downloaded. https://github.com/dalf/pyhttp-benchmark also, the usage of HTTP/1 decreases the load average
This commit is contained in:
		
							parent
							
								
									43fcaa642a
								
							
						
					
					
						commit
						3b0f70ed0f
					
				
					 2 changed files with 11 additions and 5 deletions
				
			
		|  | @ -289,6 +289,14 @@ def initialize(settings_engines=None, settings_outgoing=None): | |||
|         if isinstance(network, str): | ||||
|             NETWORKS[engine_name] = NETWORKS[network] | ||||
| 
 | ||||
|     # the /image_proxy endpoint has a dedicated network. | ||||
|     # same parameters than the default network, but HTTP/2 is disabled. | ||||
|     # It decreases the CPU load average, and the total time is more or less the same | ||||
|     if 'image_proxy' not in NETWORKS: | ||||
|         image_proxy_params = default_params.copy() | ||||
|         image_proxy_params['enable_http2'] = False | ||||
|         NETWORKS['image_proxy'] = new_network(image_proxy_params) | ||||
| 
 | ||||
| 
 | ||||
| @atexit.register | ||||
| def done(): | ||||
|  |  | |||
|  | @ -108,7 +108,7 @@ from searx.autocomplete import search_autocomplete, backends as autocomplete_bac | |||
| from searx.languages import language_codes as languages | ||||
| from searx.locales import LOCALE_NAMES, UI_LOCALE_CODES, RTL_LOCALES | ||||
| from searx.search import SearchWithPlugins, initialize as search_initialize | ||||
| from searx.network import stream as http_stream | ||||
| from searx.network import stream as http_stream, set_context_network_name | ||||
| from searx.search.checker import get_result as checker_get_result | ||||
| from searx.settings_loader import get_default_settings_path | ||||
| 
 | ||||
|  | @ -1086,13 +1086,11 @@ def image_proxy(): | |||
|             'Sec-GPC': '1', | ||||
|             'DNT': '1', | ||||
|         } | ||||
|         set_context_network_name('image_proxy') | ||||
|         stream = http_stream( | ||||
|             method = 'GET', | ||||
|             url = url, | ||||
|             headers = request_headers, | ||||
|             timeout = settings['outgoing']['request_timeout'], | ||||
|             allow_redirects = True, | ||||
|             max_redirects = 20 | ||||
|             headers = request_headers | ||||
|         ) | ||||
|         resp = next(stream) | ||||
|         content_length = resp.headers.get('Content-Length') | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Alexandre Flament
						Alexandre Flament