Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết nối / sử dụng MySQL tại localhost thay vì miền có nhanh hơn không (ngay cả khi miền phân giải trên cùng một máy tính)?

Trực tiếp sử dụng địa chỉ IP của bất kỳ giao diện nào trên localhost - giao diện loopback (127.0.0.1) hoặc bất kỳ giao diện nào khác - là tùy chọn có hiệu suất hoàn toàn tốt nhất. Các gói sẽ thực sự được định tuyến thông qua giao diện loopback (bất kể IP nào thực sự được sử dụng) ở - thực tế - tốc độ CPU.

Tuy nhiên, có ba lý do để thích 127.0.0.1 hơn IP của các giao diện khác:

  • Giao diện loopback rất quan trọng đối với hoạt động của hệ thống và do đó nó được khởi tạo rất sớm trong quá trình khởi động và gần như luôn có sẵn.

  • Nó không bị ảnh hưởng bởi các yếu tố bên ngoài:trong khi tháo cáp eth0 sẽ không làm gián đoạn quyền truy cập của localhost vào chính nó thông qua IP của eth0, nó sẽ làm rối tung mọi thứ nếu bạn có bất kỳ hệ thống "tự động định cấu hình" nào sẽ tắt giao diện khi mất liên kết.

  • Nếu bạn đã thiết lập tường lửa, rất có thể chuỗi quy tắc dài hơn (và do đó hiệu suất kém hơn một chút) khi có liên quan đến IP của các giao diện công cộng.

Nếu bạn đang sử dụng tên máy chủ, tên máy chủ lưu trữ cục bộ sẽ thường được giải quyết bằng tra cứu / etc / hosts, rất nhanh, mặc dù sử dụng IP trực tiếp loại bỏ hoàn toàn tra cứu này. Tùy thuộc vào thiết lập của bạn, nhiều tệp cũng được lưu vào bộ nhớ để sau này gần như nhanh chóng mặt.

Nếu bạn sử dụng tên máy chủ công khai, điều này có thể liên quan đến truy vấn DNS ngụ ý mức sử dụng CPU và độ trễ mạng được bổ sung. Sử dụng máy chủ định danh bộ nhớ đệm trên máy chủ cục bộ hầu như sẽ loại bỏ được vấn đề này. Tuy nhiên, hãy nhớ rằng vẫn có thể xảy ra sự cố nếu dịch vụ DNS của bạn hoạt động không ổn định.

Một lợi thế của việc sử dụng tên máy chủ công cộng sẽ là nếu nó giống như db.example.com. cho phép bạn di chuyển cơ sở dữ liệu của mình sang một máy chủ riêng biệt mà không cần phải thay đổi cấu hình của các máy khách.

Vì bạn đang sử dụng JDBC, tôi cho rằng bạn đang sử dụng lại một kết nối duy nhất cho tất cả các truy vấn của mình, trong trường hợp đó, bản thân tên máy chủ phân giải chi phí sẽ không đáng kể trong mọi trường hợp, trừ khi bạn phải xử lý máy chủ DNS bị hỏng. Tuy nhiên, vẫn có thể có một số điểm đáng khen trong việc chọn địa chỉ 127.0.0.1 để thiết lập tường lửa hiệu quả hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách thay đổi thời gian chờ cho các kết nối liên tục mysql

  2. Tham gia MySQL nâng cao. Tăng tốc truy vấn

  3. UTF-8 sự cố PHP / MySQL

  4. Làm cách nào để sửa cây MPTT bị hỏng (tập hợp lồng nhau) trong cơ sở dữ liệu bằng cách sử dụng SQL?

  5. Tại sao lại sử dụng các ràng buộc Khoá ngoại trong MySQL?