Laravel có thực sự chậm như vậy không?


82

Tôi mới bắt đầu sử dụng Laravel. Tôi hầu như chưa viết được bất kỳ mã nào, nhưng các trang của tôi mất gần một giây để tải!

thời gian laravel

Điều này khiến tôi hơi sốc khi các ứng dụng không có khuôn khổ và ứng dụng NodeJS của tôi mất ~ 2ms. Laravel đang làm gì? Đây không phải là hành vi bình thường phải không? Nó có cần một số tinh chỉnh không?


6
Thử chạyphp artisan optimize --force
Joseph Silber

13
Công bằng mà nói, thời gian tải mà bạn thấy đang ở chế độ gỡ lỗi. Thanh gỡ lỗi bạn đang sử dụng làm chậm ứng dụng một chút.
kajetons

4
Môi trường của bạn trông như thế nào? Tôi thấy tốc độ trên VPS nhanh hơn so với việc tôi phát triển cục bộ trên máy ảo.
kreeves

2
@Artsemis Chỉ cần cài đặt mọi thứ. Nó chậm hơn gấp đôi và nó bị treo sau vài lần làm mới.
mpen

9
Vâng, đừng hy vọng bất cứ điều gì nhanh chóng khi sử dụng Vagrant. Một trang Symfony thường mất khoảng 1-2 giây để tải trong Vagrant, trong khi quá trình sản xuất mất 50 mili giây.
Matthieu Napoli

Câu trả lời:


98

Laravel là không thực sự chậm. 500-1000ms là vô lý; Tôi đã nhận được nó xuống còn 20ms ở chế độ gỡ lỗi.

Vấn đề là Vagrant / VirtualBox + các thư mục chia sẻ. Tôi không nhận ra rằng họ đã tạo ra một thành công như vậy. Tôi đoán vì Laravel có quá nhiều phụ thuộc (tải ~ 280 tệp) và mỗi tệp đó đọc rất chậm, nên nó cộng lại rất nhanh.

kreeves đã chỉ cho tôi đúng hướng, bài đăng trên blog này mô tả một tính năng mới trong Vagrant 1.5 cho phép bạn rsync các tệp của mình vào VM thay vì sử dụng thư mục được chia sẻ.

Không có ứng dụng khách rsync gốc trên Windows, vì vậy bạn sẽ phải sử dụng cygwin . Cài đặt nó và đảm bảo đã tắt Net / rsync. Thêm C:\cygwin64\binvào đường dẫn của bạn. [Hoặc bạn có thể cài đặt nó trên Win10 / Bash]

Vagrant giới thiệu tính năng mới . Tôi đang sử dụng Puphet, vì vậy Vagrantfile của tôi trông hơi buồn cười. Tôi đã phải chỉnh sửa nó để trông như thế này:

  data['vm']['synced_folder'].each do |i, folder|
    if folder['source'] != '' && folder['target'] != '' && folder['id'] != ''
      config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", 
        id: "#{folder['id']}", 
        type: "rsync",
        rsync__auto: "true",
        rsync__exclude: ".hg/"
    end
  end

Khi bạn đã thiết lập xong, hãy thử vagrant up. Nếu mọi thứ suôn sẻ, máy của bạn sẽ khởi động và nó sẽ sao chép tất cả các tệp. Bạn sẽ cần chạy vagrant rsync-autotrong một thiết bị đầu cuối để giữ cho các tệp được cập nhật. Bạn sẽ phải trả một chút thời gian chờ đợi, nhưng để tải trang nhanh hơn 30 lần, điều đó đáng giá!


Nếu bạn đang sử dụng PhpStorm, tính năng tự động tải lên của nó hoạt động tốt hơn rsync. PhpStorm tạo ra rất nhiều tệp tạm thời có thể làm tăng tốc các trình theo dõi tệp, nhưng nếu bạn để nó tự xử lý các tệp tải lên, nó sẽ hoạt động tốt.


Một lựa chọn nữa là sử dụng lsyncd . Tôi đã thành công lớn khi sử dụng tính năng này trên máy chủ Ubuntu -> FreeBSD guest. Tôi chưa thử nó trên máy chủ Windows.


Bạn đã làm gì để cải thiện hiệu suất của mình (ngoài việc sử dụng rsync)?
jpcamara

2
@jpcamara Không có gì. Riêng Rsync đã giảm nó xuống ~ 20ms. Bạn có thể chạy nó trong HHVM, tắt bất kỳ gỡ lỗi nào và chạy artisan optimizeđể tăng nhẹ. Phần còn lại chủ yếu là cách bạn thiết kế ứng dụng của mình, tôi nghĩ. Cài đặt barryvdh/laravel-debugbarvà tìm kiếm bất kỳ sự chậm chạp nào.
mpen

2
Làm thế nào để nó tải 280 tệp trong 20ms? Một số loại biên dịch / OPcache được sử dụng ở đây? Giả sử bộ nhớ SSD, ofc.
Manuel Arwed Schmidt

1
Theo Taylor Otwell, Laravel 5.2 thậm chí sẽ nhanh hơn 25%: twitter.com/taylorotwell/status/674327734252892161
Koga

1
Sử dụng chia sẻ tệp NFS thay vì chia sẻ mặc định. Tăng tốc mọi thứ lên 10 lần ... Sửa đổi tệp Vagrant của bạn để buộc gắn hệ thống tệp dưới dạng NFS: config.vm.synced_folder ".", "/ Vagrant", gõ: "nfs", nfs: true, nfs_udp: false, nfs_version: 3
Didzis

25

Để giúp bạn giải quyết vấn đề của bạn, tôi đã tìm thấy blog này nói về việc tối ưu hóa sản xuất laravel. Hầu hết những gì bạn cần làm để làm cho ứng dụng của bạn trở nên nhanh chóng bây giờ sẽ nằm trong tay về mức độ hiệu quả của mã, dung lượng mạng, CDN, bộ nhớ đệm, cơ sở dữ liệu.

Bây giờ tôi sẽ nói về vấn đề:

Laravel chậm ra khỏi hộp. Có nhiều cách để tối ưu hóa nó. Bạn cũng có tùy chọn sử dụng bộ nhớ đệm trong mã của mình, cải thiện máy chủ của bạn, yadda yadda yadda. Nhưng cuối cùng thì Laravel vẫn chậm.

Laravel sử dụng rất nhiều thư viện symfony và như bạn có thể thấy trong các điểm chuẩn của techempower , symfony xếp hạng rất thấp (cuối cùng phải nói là ít nhất). Bạn thậm chí có thể tìm thấy điểm chuẩn laravel gần như ở cuối.

Rất nhiều quá trình tải tự động đang diễn ra trong nền, những thứ bạn thậm chí có thể không cần sẽ được tải. Về mặt kỹ thuật, vì laravel dễ sử dụng, nó giúp bạn xây dựng ứng dụng nhanh, nhưng nó cũng làm cho nó chậm đi.

Nhưng tôi không nói Laravel là xấu, nó rất tuyệt , tuyệt vời ở rất nhiều thứ. Nhưng nếu bạn mong đợi lượng truy cập tăng cao, bạn sẽ cần nhiều phần cứng hơn chỉ để xử lý các yêu cầu. Nó sẽ khiến bạn tốn kém hơn rất nhiều. Nhưng nếu bạn là người giàu có thì bạn có thể đạt được bất cứ điều gì với Laravel. : D

Sự đánh đổi thông thường:

 Easy = Slow, Hard = Fast

Tôi sẽ coi C hoặc Java có đường cong học tập khó và khả năng bảo trì khó nhưng nó xếp hạng rất cao trong các khuôn khổ web.

Mặc dù không quá liên quan. Tôi chỉ đang cố gắng chứng minh quan điểm của easy = slow:

Ruby có danh tiếng rất tốt về khả năng bảo trì và sự dễ dàng để học nó nhưng nó cũng được coi là chậm nhất trong số python và php như được hiển thị ở đây .

nhập mô tả hình ảnh ở đây


91
những đồ họa đó có liên quan gì đến câu hỏi?
NullPoiиteя

4
PHP7 là nhanh hơn rất nhiều so với PHP5
Cobolt

1
Điểm nào? Dễ dàng = chậm lây lan chỉ hơn nữa sự hiểu lầm vô căn cứ đối với ngôn ngữ đặc biệt
Chris

trong infographics một lỗi là Pyhon không thể bị ảnh hưởng bởi Java vì java được phát minh vào năm 1995 và python vào năm 1991.
Haritsinh Gohil

@HaritsinhGohil Python 3 được phát hành vào năm 2008.
majidarif

17

Có - Laravel thực sự rất chậm. Tôi đã xây dựng một ứng dụng POC vì lợi ích này. Bộ định tuyến đơn giản, có biểu mẫu đăng nhập. Tôi chỉ có thể nhận được 60 RPS với 10 kết nối đồng thời trên một máy chủ đại dương kỹ thuật số 20 đô la (vài GB ram);

Thiết lập:

2gb RAM
Php7.0
apache2.4
mysql 5.7
memcached server (for laravel session)

Tôi đã chạy tối ưu hóa, tự động tải kết xuất trình soạn nhạc, v.v. và nó thực sự đã hạ RPS xuống 43-ish .

Vấn đề là ứng dụng phản hồi trong 200-400ms. Tôi đã chạy kiểm tra AB từ máy cục bộ đã bật laravel (tức là không thông qua lưu lượng truy cập web); và tôi chỉ nhận được 112 RPS; với thời gian phản hồi nhanh hơn 200ms với mức trung bình là 300ms.

Tương tự, tôi đã thử nghiệm ứng dụng PHP Native sản xuất của mình chạy vài triệu yêu cầu mỗi ngày trên AWS t2.medium (x3, cân bằng tải). Khi tôi AB với 25 kết nối đồng thời từ máy cục bộ của mình tới máy đó qua web, thông qua ELB, tôi nhận được khoảng 1200 RPS. Sự khác biệt rất lớn trên máy có tải so với trang "đăng nhập" laravel.

Đây là các trang có Phiên (bộ đệm đàn hồi / memcached), tra cứu Live DB (truy vấn được lưu trong bộ nhớ cache qua bộ nhớ đệm), Nội dung được kéo qua CDN, v.v., v.v.

Những gì tôi có thể nói, laravel dính khoảng 200-300ms tải trên mọi thứ. Xét cho cùng thì cũng tốt cho các khung nhìn PHP Generated, kiểu trễ đó có thể chấp nhận được khi tải. Tuy nhiên, đối với các khung nhìn PHP sử dụng Ajax / JS để xử lý các cập nhật nhỏ, nó bắt đầu cảm thấy chậm chạp.

Tôi không thể tưởng tượng hệ thống này sẽ như thế nào với một ứng dụng nhiều người thuê trong khi 200 bot thu thập thông tin 100 trang mỗi người cùng một lúc.

Laravel rất tuyệt vời cho các ứng dụng đơn giản. Lumen có thể chấp nhận được nếu bạn không cần phải làm bất cứ điều gì yêu cầu vô nghĩa phần mềm trung gian (IE, không có ứng dụng nhiều người thuê và miền tùy chỉnh, v.v.);

Tuy nhiên, tôi không bao giờ thích bắt đầu với thứ gì đó có thể ràng buộc và gây ra tải 300ms cho một bài đăng "hello world".

Nếu bạn đang nghĩ "Ai quan tâm?"

.. Viết một tìm kiếm dự đoán dựa trên các truy vấn nhanh để trả lời các đề xuất tự động hoàn thành trên một vài trăm nghìn kết quả. Độ trễ 200-300ms đó sẽ khiến người dùng của bạn hoàn toàn mất trí.


2
Tại sao phần mềm trung gian là vô nghĩa? Bạn muốn giải thích bằng các sự kiện để tất cả chúng ta có thể khẳng định rằng nó vô nghĩa? Ngoài ra, tôi chạy cài đặt Laravel đáp ứng vui vẻ trong khoảng từ 80 đến 65 mili giây (vâng, nó thực hiện một truy vấn db trên bảng ghi 4 tỷ) vì vậy tôi rất muốn biết bạn đang nói gì.
Mjh

2
Bạn rõ ràng là yêu thích laravel. Tôi thiết lập một cài đặt cơ sở, được tối ưu hóa và nhận được kết quả kém. Tôi thấy nó yêu cầu phần mềm trung gian và kỹ thuật đảo ngược để xử lý xử lý tuyến trước; mà không phải là lý tưởng. Chỉ vì bạn đã cài đặt laravel "CỦA BẠN" để tối ưu hóa, thật tuyệt. Không liên quan của nó. Một gói cơ sở định tuyến HELLO WORLD nặng hơn và chậm hơn một khung định tuyến đơn giản và một công cụ tạo khuôn mẫu. Cả hai có thể được lưu vào bộ nhớ cache? Tối ưu hóa? Cải thiện? Đúng. Đó có phải là điểm? Không. Laravel nặng. Nặng thì chậm (ờ). Thế giới đồng ý về điều đó. sử dụng nó nếu bạn thích nó, nhưng đây không phải là thần học. :)
Nick

1
Tôi thích dành ít thời gian hơn. Tôi không thực sự quan tâm đến một khuôn khổ / công nghệ / bất cứ điều gì, tôi sẽ cho rằng bạn cũng vậy. Ít thời gian hơn để đạt được mục tiêu = đó là một chiến thắng trong cuốn sách của tôi. Bây giờ, vâng, Laravel rất nặng. Mọi khuôn khổ đều nặng nề so với ngôn ngữ trần trụi. Như bất kỳ chương trình / phần mềm nào - Laravel có thể chạy nhanh, đó là điểm tôi nhận xét. Nếu một khuôn khổ giúp bạn, nếu bạn cần làm cho nó chạy nhanh hơn - điều đó có thể đạt được.
Mjh

Bạn đang so sánh phiên bản Laravel không được định cấu hình / tối ưu hóa / được lưu trong bộ nhớ cache đang chạy trên máy chủ DO $ 20 với một bản dựng tùy chỉnh, ứng dụng php được tinh chỉnh / tối ưu hóa / lưu trong bộ nhớ cache cao, chạy trên cơ sở hạ tầng máy chủ được điều chỉnh / tối ưu hóa / bộ nhớ cache cao $ 400, sau đó phàn nàn rằng ứng dụng chưa được tối ưu hóa chậm? Đừng hiểu sai ý tôi, TẤT CẢ các khuôn khổ đều chậm chạp! Không có cách nào để điều chỉnh một khuôn khổ hoạt động cho tất cả mọi người. Ngoài ra, hầu hết các khuôn khổ đều được thiết lập cho môi trường nhà phát triển ĐẦU TIÊN. Tự động load chậm, các mẫu được lưu trữ thuốc, vv Xin vui lòng so sánh một quả táo với quả táo, chứ không phải một quả táo để một chiếc Ferrari, hoặc trong trường hợp này, một Zonda ...
jacobfogg

2
CodeIgniter không chậm ra khỏi hộp. Trên thực tế, CodeIgniter gần như nhanh như chính PHP. PHP = 300 rps, CodeIgniter = 295. Laravel ở dưới mức đó. Zend là khoảng 30 rps và bánh ngọt, theo những gì tôi nhớ, một con số khổng lồ 3 rps. Không có hai khuôn khổ nào được tạo bằng nhau. Có một vài quả táo để xem xét. Tuy nhiên, việc tối ưu hóa Laravel có thể cung cấp cho bạn 60 ms tải, hãy tưởng tượng việc tối ưu hóa CodeIgniter sẽ mang lại cho bạn điều gì. ;)
Quản trị viên web G

13

Tôi thấy rằng mức tăng tốc độ lớn nhất với Laravel 4 mà bạn có thể đạt được khi chọn các trình điều khiển phiên phù hợp;

Sessions "driver" file;

Requests per second:    188.07 [#/sec] (mean)
Time per request:       26.586 [ms] (mean)
Time per request:       5.317 [ms] (mean, across all concurrent requests)


Session "driver" database;

Requests per second:    41.12 [#/sec] (mean)
Time per request:       121.604 [ms] (mean)
Time per request:       24.321 [ms] (mean, across all concurrent requests)

Hy vọng điều đó sẽ giúp


1
Rõ ràng và tôi khuyên mọi người đừng bao giờ sử dụng tệp làm phiên. Hãy nghĩ về khả năng mở rộng :)
jeveloper

6
@jeveloper gì? Trong ví dụ này, tập tin nhanh hơn 4 lần so với cơ sở dữ liệu
developerbmw

1
@Brett "nghĩ về khả năng mở rộng" là điểm, chắc chắn tập tin vs cuộc gọi mạng để máy có thể điều khiển từ xa (thậm chí nếu nó trong VPC cùng) sẽ chậm hơn nhưng ít nhất bền vững và cho bạn dữ liệu phiên chụp của nó
jeveloper

@jeveloper có phải hệ thống tệp không bền vững không? Tôi chắc chắn hy vọng là như vậy, vì dù sao thì đó cũng là bộ nhớ cơ bản cho hầu hết các cơ sở dữ liệu.
developerbmw

3
@developerbmw Những gì anh ấy đang cố gắng nói là nếu bạn có bộ cân bằng tải và nhiều phiên bản đang phục vụ ứng dụng của bạn, thì việc sử dụng hệ thống tệp của máy chủ cục bộ là không thể mở rộng.
Chris Harrison

10

Từ cuộc thi Hello World của tôi, Laravel là cái nào? Tôi nghĩ bạn có thể đoán được. Tôi đã sử dụng vùng chứa docker để kiểm tra và đây là kết quả

Để trả lời http "Hello World":

  • Golang với trình xử lý nhật ký stdout: 6000 rps
  • SpringBoot với Log Handler Stdout: 3600 rps
  • Laravel 5 khi tắt log: 230 rps

Không biết tại sao điều này đã được đánh dấu riêng, có lẽ thích hợp hơn như một nhận xét. Mặc dù tôi cũng trải qua thời gian đáp ứng rất chậm trong một container Docker ~ 600ms
AndrewMcLagan

bạn đã thử bộ nhớ đệm tuyến đường chưa?
Oğuz Can Sertel

rps là gì? yêu cầu mỗi giây?
user3494047 Ngày

3
Hello world là ứng dụng hữu ích và tốt nhất từ ​​trước đến nay, đặc biệt là khi được sử dụng cho các bài kiểm tra có ý nghĩa. Nó hoàn toàn bao gồm mọi thứ bạn cần biết, từ thành phần nào được sử dụng để hỗ trợ gói / trình quản lý gói cho một ngôn ngữ.
Mjh

1
Tôi chỉ muốn đường cơ sở về hiệu suất không có sự phụ thuộc phức tạp khác
Aggarat .J

5

Tôi sử dụng Laravel khá nhiều và tôi chỉ đơn giản là không tin những con số mà nó cho tôi biết bởi vì kết xuất end-to-end như được đo bằng trình duyệt của tôi cho thấy LOWER tổng thời gian từ yêu cầu đến sẵn sàng.

Hơn nữa, tôi nhận được các con số cao hơn một chút trên máy của tôi tại nơi làm việc, điều này thực thi trang nhanh hơn đáng kể so với máy của tôi ở nhà.

Tôi không biết những con số đó được tính toán như thế nào, nhưng chúng không được chứng thực bằng quan sát hoặc các công cụ trình duyệt như Firebug ...

Laravel không thực sự chậm, đặc biệt là khi được tối ưu hóa. Tuy nhiên, nó là bộ nhớ đói. Ngay cả một CMS nặng như Drupal vốn rất chậm, dường như có khoảng 1/3 dấu vết bộ nhớ của một yêu cầu Laravel xương trần.

Do đó, để chạy Laravel trong sản xuất, tôi sẽ triển khai tới các máy chủ được tối ưu hóa bộ nhớ trước các máy chủ được tối ưu hóa CPU.


Tôi không chắc liệu những con số đó có đúng không nhưng nó chắc chắn đáng chú ý. Ý bạn là gì khi nói "đặc biệt là khi được tối ưu hóa"? Bạn đang tối ưu hóa nó như thế nào? Chỉ bằng cách chạy php artisan optimizehay chúng ta có thể làm gì nhiều hơn?
mở cửa vào


3

Tôi biết đây là một câu hỏi hơi cũ, nhưng mọi thứ đã thay đổi. Laravel không chậm như vậy. Như đã đề cập, các thư mục được đồng bộ hóa rất chậm. Tuy nhiên, trên Windows 10, tôi không thể sử dụng rsync. Tôi đã thử cả hai cygwinminGW. Có vẻ như rsynckhông tương thích với git for windowsphiên bản của ssh.

Đây là những gì đã làm việc cho tôi: NFS .

Tài liệu Vagrant nói:

Các thư mục NFS không hoạt động trên máy chủ Windows. Vagrant sẽ bỏ qua yêu cầu của bạn đối với các thư mục được đồng bộ hóa NFS trên Windows.

Điều này không còn đúng nữa. Chúng ta có thể sử dụng vagrant-winnfsd plugin ngày nay. Nó thực sự đơn giản để cài đặt:

  1. Hành hình vagrant plugin install vagrant-winnfsd
  2. Thay đổi trong Vagrantfile:config.vm.synced_folder ".", "/vagrant", type: "nfs"
  3. Thêm vào Vagrantfile:config.vm.network "private_network", type: "dhcp"

Đó là tất cả những gì tôi cần để làm NFSviệc. Đối với tôi, thời gian phản hồi của Laravel giảm từ 500ms xuống 100ms.


Bạn đã thử rsync qua Bash cho Windows chưa? Tôi đang thực sự chạy nó ngay bây giờ và nó hoạt động rất tốt.
mpen

Không, tôi đã không thử nó. Tôi biết, nhiều người viết rằng rsync cũng hoạt động tốt với git bash hoặc Windows cmd. Tôi không biết tại sao nó không hoạt động với tôi. Nhưng dù sao tôi cũng đã tìm ra một giải pháp khác. Có lẽ nó sẽ hữu ích cho ai đó.
frutality

1

Tôi đã gặp phải 1.40skhi làm việc với một laravel trong lĩnh vực phát triển!

vấn đề đang sử dụng: php artisan serveđể chạy máy chủ web

khi tôi sử dụng máy chủ web apache (hoặc NGINX) thay thế cho cùng một mã, tôi đã nhận được nó xuống 153ms


1

Vì không ai khác đề cập đến nó, tôi thấy rằng trình gỡ lỗi xdebug đã tăng đáng kể thời gian. Tôi đã phục vụ trang động cơ bản "Xin chào Thế giới, thời gian là 2020-01-01T01: 01: 01.010101" và sử dụng trang này trong httpd.conf của mình để xác định thời gian yêu cầu:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" **%T/%D**" combined

% T là thời gian giao bóng tính bằng giây,% D là thời gian tính bằng micro giây. Với điều này trong php.ini của tôi:

[XDebug]
xdebug.remote_autostart = 1
xdebug.remote_enable = 1

Tôi đã nhận được khoảng 770ms thời gian phản hồi, nhưng với cả hai thời gian đó được đặt thành 0 để tắt chúng, nó đã tăng lên 160ms ngay lập tức. Chạy cả hai điều này đã làm giảm nó xuống 120ms:

php artisan route:cache
php artisan config:cache

Nhược điểm là nếu tôi thực hiện các thay đổi cấu hình hoặc định tuyến, tôi sẽ cần phải lưu trữ lại chúng, điều này gây khó chịu.

Như một chú thích phụ, thật kỳ lạ, việc di chuyển trang web từ SSD của tôi sang ổ cứng HDD quay không mang lại lợi ích về hiệu suất, điều này thật kỳ lạ đối với tôi, nhưng tôi cho rằng nó có thể được lưu trong bộ nhớ cache, tôi đang sử dụng Windows 10 với XAMPP.


-10

Laravel chậm, vì trong hầu hết các trường hợp, sử dụng PHP cho các trang web là chậm.

Với Laravel, toàn bộ khung công tác được xây dựng lại trên mọi lệnh gọi - đó là lý do tại sao tất cả các trang đều trỏ đến index.php. Vì toàn bộ khung công tác là các tập lệnh PHP, tất cả chúng đều cần phải thông qua trình thông dịch PHP - mỗi lần. Khuôn khổ càng lớn, thời gian này càng lâu.

Ngược lại điều này với "môi trường máy chủ" (ví dụ: tomcat) nơi máy chủ chạy mã khởi tạo một lần và cuối cùng tất cả các trang sẽ ở mã gốc (sau JIT).

Như một ví dụ tham khảo, sử dụng cùng một phần cứng, hệ điều hành, v.v., một 'hello world' đơn giản sử dụng JSP trên phần cứng này là 3000 rps, hello world tương tự trên laravel là 51 rps.

Cách dễ nhất để kiểm tra tổng chi phí của khuôn khổ và kết quả là RPS tối đa trên mỗi lõi, là sử dụng Apache AB và giá trị đồng thời là 1, với 'hello world' đơn giản là động (để tránh bộ đệm trang tĩnh).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.