Cùng một mã nguồn PHP và môi trường Nginx, cùng mở một trang quản trị (admin tool) có lượng dữ liệu render lớn F5 lúc được, lúc bị ngắt cụt mã HTML giữa chừng (trang web mất chân trang, giao diện vỡ, thiếu dữ liệu).

  1. Hiện tượng (Symptom) # Triệu chứng: Cùng một mã nguồn PHP và môi trường Nginx, cùng mở một trang quản trị (admin tool) có lượng dữ liệu render lớn: Một server chạy bình thường. Một server gặp tình trạng tải trang chập chờn: F5 lúc được, lúc bị ngắt cụt mã HTML giữa chừng (trang web mất chân trang, giao diện vỡ, thiếu dữ liệu). Đặc điểm gây nhiễu: Các thông số tài nguyên cốt lõi giữa 2 bên hoàn toàn giống nhau ( memory_limit = 4096M , max_execution_time = 0 , output_buffering = 0 , cấu hình pool PHP-FPM đồng nhất). 2. Nguyên nhân gốc rễ (Root Cause) # Cơ chế đệm response của Nginx kết hợp FastCGI: Khi PHP trả dữ liệu về Nginx, nếu payload nhỏ hơn bộ đệm trong RAM ( fastcgi_buffer_size / fastcgi_buffers , thường là 4KB–64KB tùy OS/arch), Nginx stream trực tiếp về client mượt mà. Khi dữ liệu HTML vượt quá kích thước buffer RAM, Nginx bắt buộc phải băm (hash) và ghi phần dữ liệu vượt ngưỡng vào thư mục tạm trên ổ cứng ( fastcgi_temp/ ). Lỗi phát sinh: Thư mục cài đặt Nginx hoặ...

Cấu hình dịch vụ Proxy trên Linux - Squid

   Trên HĐH Linux có rất nhiều phần mềm cung cấp dịch vụ proxy, trong đó Squid được sử dụng rộng rãi nhất.
  1. Giới thiệu về SQUID.     
           Squid là một chương trình internet proxy-caching có vai trò tiếp nhận các yêu cầu từ các client và chuyển cho Internet server thích hợp. Đồng thời,nó sẽ lưu lên đĩa những dữ liệu được trả về từ Internet server - gọi là caching. Chương trình này dùng để cấu hình Proxy Server. Vì vậy ưu điểm của squid là khi một dữ liệu mà được yêu cầu nhiều lần thì Proxy Server sẽ lấy thông tin từ cache trả về cho client. Điều này làm cho tốc độ truy xuất Internet nhanh hơn và tiết kiệm băng thông. Squid dựa trên những đặc tả của giao thức HTTP và ICP. 
  2. Chức năng hỗ trợ của SQUID.
    • Proxying and caching of HTTP, FTP, and other URLs.
    • Proxying for SSL.
    • Cache hierarchies.
    • ICP, HTCP, CARP, Cache Digests.
    • Transparent caching.
    • WCCP -  Web Cache Communication Protocol (Squid v2.3 and above).
    • Extensive access controls.
    • HTTP server acceleration.
    • SNMP.
    • Caching of DNS lookups.
    • Trao đổi cache: Squid có khả năng chia sẻ dữ liệu giữa những cache với nhau. Việc chia sẻ này mang lại những lợi ích như :
    • User Base: nếu số lượng client truy cập Internet thông qua proxy càng nhiều thì khả năng một đối tượng nào đó được yêu cầu 2 lần sẽ cao hơn.
    • Giảm tải truy xuất (Reduce load) cho đường truyền.
    • Disk space: Nếu bạn chuyển cân bằng giữa các cache với nhau sẽ tránh được việc sao lại dữ liệu đã lưu. Do đó dung lượng đĩa cứng dành cho việc lưu trữ cache sẽ giảm.
  3. Cài đặt
  4.      Việc cài đặt gói phần mềm SQUID có vài nét khác nhau ở từng phiên Distro Linux: 
    • Cài đặt ở Fedora:
    •      Dùng trình quản lí cơ sở dữ liệu các ứng dụng yum:
      [code] #yum install squid [/code]      
           Dùng gói rpm đã tải về file squid-3.1.8-1.fc14.i686.rpm: 
      [code]#rpm –ivh squid-3.1.8-1.fc14.i686.rpm [/code]
    • Cài đặt trên Ubuntu:
    •      Dùng trình quản lí cơ sở dữ liệu các ứng dụng apt-get: 
       [code]#apt-get install squid [/code]
    • Cài đặt trên một số Distro khác:
    •      Tải về gói tar squid-3.1.8-1.tar 
      [code]
      # tar -xzvf squid-version.tar.gz 
      # cd squid-version 
      # ./configure 
      # make 
      # make install 
      [/code]
      Lưu ý là phải cài các bộ dịch gcc, g++ vào trước.
      Video sau đây sẽ hướng dẫn các bạn cấu hình những Rule cơ bản nhất đối với squid 3.1 để giúp các bạn làm quen với dịch vụ proxy trên Linux.


[youtube]http://www.youtube.com/watch?v=QddqPWj0b9M[/youtube]



[youtube]http://www.youtube.com/watch?v=b1HFlCQTx98[/youtube]

Nhận xét

Bài đăng phổ biến từ blog này

Gọi hàm nhiều cấp trong MIPS

Đệ quy trong MIPS