[PR #30146] feat: enhance squid config #32705

Closed
opened 2026-02-21 20:51:55 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/30146

State: closed
Merged: Yes


Important

  1. Make sure you have read our contribution guidelines
  2. Ensure there is an associated issue and you have been assigned to it
  3. Use the correct syntax to link this PR: Fixes #<issue number>.

Summary

fix #29642

Performance Optimization Configuration

  1. Connection Limits
  • max_filedescriptors 65536 - Support more concurrent connections
  • maximum_tcp_connections 1000 - Maximum TCP connections
  1. Timeout Configuration (optimized for image requests)
  • connect_timeout 2 minutes - Connection timeout
  • request_timeout 10 minutes - Request timeout (sufficient for large image downloads)
  • read_timeout 10 minutes - Read timeout
  • client_lifetime 24 hours - Client connection keep-alive time
  1. Connection Reuse (improve performance)
  • server_persistent_connections on - Server-side persistent connections
  • client_persistent_connections on - Client-side persistent connections
  • persistent_request_after_timeout 30 seconds - Reuse connections after timeout
  1. Request Protection
  • quick_abort_min/max/pct - Prevent near-completion requests from being interrupted
  • client_idle_pconn_timeout - Idle connection timeout
  1. Memory Cache
  • cache_mem 256 MB - Memory cache size
  • maximum_object_size_in_memory 512 KB - Suitable for small icons/avatars
  1. DNS Optimization
  • dns_nameservers 8.8.8.8 8.8.4.4 - Use public DNS servers
  • dns_timeout 30 seconds - DNS timeout

These configurations should significantly improve timeout issues when handling high-concurrency image requests. You need to restart the squid service for the changes to take effect.

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/30146 **State:** closed **Merged:** Yes --- > [!IMPORTANT] > > 1. Make sure you have read our [contribution guidelines](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) > 1. Ensure there is an associated issue and you have been assigned to it > 1. Use the correct syntax to link this PR: `Fixes #<issue number>`. ## Summary fix #29642 Performance Optimization Configuration 1. Connection Limits - max_filedescriptors 65536 - Support more concurrent connections - maximum_tcp_connections 1000 - Maximum TCP connections 2. Timeout Configuration (optimized for image requests) - connect_timeout 2 minutes - Connection timeout - request_timeout 10 minutes - Request timeout (sufficient for large image downloads) - read_timeout 10 minutes - Read timeout - client_lifetime 24 hours - Client connection keep-alive time 3. Connection Reuse (improve performance) - server_persistent_connections on - Server-side persistent connections - client_persistent_connections on - Client-side persistent connections - persistent_request_after_timeout 30 seconds - Reuse connections after timeout 4. Request Protection - quick_abort_min/max/pct - Prevent near-completion requests from being interrupted - client_idle_pconn_timeout - Idle connection timeout 5. Memory Cache - cache_mem 256 MB - Memory cache size - maximum_object_size_in_memory 512 KB - Suitable for small icons/avatars 6. DNS Optimization - dns_nameservers 8.8.8.8 8.8.4.4 - Use public DNS servers - dns_timeout 30 seconds - DNS timeout These configurations should significantly improve timeout issues when handling high-concurrency image requests. You need to restart the squid service for the changes to take effect. ## Screenshots | Before | After | |--------|-------| | ... | ... | ## Checklist - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:51:55 -05:00
yindo closed this issue 2026-02-21 20:51:55 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#32705