本篇文章是個經驗談,作者想要聊聊是如何將一個 4vCPU 的VM給調整到可以達到每秒處理 1.2M(120萬)個 JSON Reuqest,本篇文章非常的長,所以會分多天來介紹。
整篇文章探討的是各種 turning 的步驟,來聊聊如何從最初每秒 224k(22萬四千) 給調整到每秒 1.2M 的處理能力。
整個過程分成九大步驟,後面同時標示每個過程後的每秒請求能力
1. Application Optimizations (347k)
2. Speculative Execution Migtigations (446k)
3. Syscall Auditing/Blocking (495k)
4. Disabling iptables/netfilter (603k)
5. Perfect Locality (834k)
6. Interrypt Optimizations (1.06M)
7. The Case of the Nosy Neighbor (1.12M)
8. The Battle Against the Spin Lock (1.15M)
9. This Gost to Twelv (1.20M)
作者強調,上述的過程不一定適合你的應用程式,但是透過這些步驟能夠讓你更佳瞭解應用程式的運作行為,同時也有機會發現一些潛在的瓶頸問題。
環境介紹
1. 團隊使用 Techempower 來進行 JSON Serialization 的測試
2. 使用 libreactor(event-driven框架) 來搭建一個簡單的 API Server
3. HTTP 的解析使用 picohttpparser,同時使用 libclo 來處理 JSON 的編碼
4. 硬體環境
- Server: 4 vCPU, c5n.xlarge AWS VM
- Client: 16 vCPU, c5n.4xlarge AWS VM (clinet太弱會變成瓶頸)
- Network: Server/Client 屬於同一個可用區域(AZ)
5. 軟體環境
- 作業系統: Amazon Linux2 (Kernel 4.14)
- Server: 使用 libreactor (使用不同版本,分別是 Round18 以及 Round20)
- Client: 修改 wrk 這個知名的工具並重新命名為 twrk,詳細差異自己看文章內部,主要都跟顯示有關
6. 實驗方式
- 每個測試跑三次,取中間值
- 256 連線,16 threads,同時每個 thread 都會 pin 到一個固定的 CPU
- 每個實驗都有兩秒的暖機時間來建立連線
Ground Zero
第一個要探討的就是什麼最佳化都還沒有使用前,到底當前應用程式可能的瓶頸在哪裏
首先團隊將該應用程式與其他常見的應用程式或是開發框架比較,譬如 Netty, Nginx, Actix, aspcore 等, libreactor 的效能不錯,有中上水準。
接者作者使用火焰圖(Flame Graphs)來 Profile 該伺服器,作者很好心地將文章中所有的火焰圖都調整了一下,讓所有的 user-space 相關的 function call 都轉成藍色,而剩下跟 kernel 相關都維持紅色。
1. 大部分的時間都在 Kernel 處理
2. 主要是花費在收封包與送封包
3. 應用程式本身主要是分兩大部分,解析 HTTP 的封包以及處理請求與回應。
從上述兩點來看,作者認為目前的應用程式寫得算不錯,因為瓶頸很明顯是卡在 Kernel 端
接下來就正式進入到各種 Turning 的章節探討
Application Optimizations
長話短說:
- 作者基於 libreactor Round18 的框架進行修改,並且所有的修改都已經被合併到 Round20 的版本中,而這些修改主要是實作方面的強化以及整個框架的最佳化。
1. 作者首先透過 htop 觀察運行過程,發現 Server 只有使用 2vCPU 而已(系統有 4vCPU),因此這是作者進行的第一個修改,讓 Server 使用了 4vCPU,這個簡單調整就讓效能提升 25%
註: 作者特別強調,不要覺得從 2vCPU 變成 4vCPU 效能就可以變成兩倍,主要是1) 沒有使用的 vCPU 還有很多其他的工作要處理,因此不是完全都送給你應用程式處理。2)基於 hypter-thread vCPU 的架構,環境只有兩個真正的 CPU 而是透過邏輯的方式產生四個抽象的 CPU,所以全用一定會變快,但是基於很多資源還是要競爭與共用,數字不是單純翻倍
2. 作者自己的應用程式本身使用 gcc 建置時有使用 "-o3" 的方式來最佳化處理,然而框架本身卻沒有使用 "-o3" 的方式來弄,因此作者也針對這個部分來處理,讓建制框架時能夠使用 -o3
3. 從實作方面來看,作者觀察到 libreactor 1.0 版本使用的是 read/write 這兩個常見的方式來處理封包的送收,作者將其修改成 recv/send 整個效能就提升了將近 10%。
註: write(針對 FD,更全面廣泛的用法) 與 send(針對 Socket,更針對的用法) 使用上差異不大,但是 write 於底層 Kernel 最終還是會呼叫到 send 來處理,所以基本上可以理解就是在沒有特別參數需求時,可以直接跳過幾個 kernel function 來達到加速的效果。
write kernel 內的走向: sys_write -> vfs_write -> __vfs_write -> sock_write_iter -> sock_sendmsg
send kernel 內的走向: sendto -> sock_sendmsg
4. 作者觀察到火焰圖中有一些 pthread 相關的資料,進而發現 libreactor 會創造一個 thread pool 來處理非同步的 DNS 名稱解析問題。對於一個 HTTP Client 來說,如果今天要發送請求到多個不同的 domain,而每個 domain 都會需要進行一個 blocking 的解析過程,透過這種方式可以減少 DNS 解析造成的 blocking 問題。然而對於 HTTP Server 來說,這個使用情境帶來的效益似乎就稍微低了些,畢竟 Server 只有 Bind Socket 之前可能會需要去解析一次 DNS 而已。
大部分的情境下, thread pool 都是應用程式初期會去創造而接者就不太會管她,但是對於錙銖必較的效能除錯人來說,任何能夠調整的部分都可能是個值得探討的地方。
作者透過修改 Server 端(準確來說是 libreactor 框架內的程式碼)關於 Thread Pool 的一些用法,成長的讓整個效能提升了 2~3%
結論來說,透過上述四個概念來提升的程式碼效能。
1. vCPU 盡量使用: 25%-27%
2. 使用 gcc -O3 來建置框架的程式碼: 5%-10%
3. 使用 march=native 等參數來建置最後的 server 應用程式: 5%-10%
4. 使用 send/recv 而非 write/read: 5%-10%
5. 修改 pthread 的用法: 2%-3%
註: 作者強調每個最佳化的結果並非是單純累積的概念,反而還會有互補的效果。
可能前述的操作實際上也會讓後續的操作達到更好的效果,
譬如如果先跑 vCPU 的調整,效能大概提升 25%,但是如果先執行別的最佳化過程,最後再來調整 vCPU,就可以達到 40% 的效果,主要是 CPU 可以共有效率的去執行程式。
最後,這個部分讓整個處理封包能力從 224k 提升了 55% 到 347k (req/s)。
從火焰圖來看,整個 user-space 的範圍縮小許多,同時 send/recv 的處理也有使得整體的高度下降一點點(大概四格..)
為了避免文章過長,本篇文章就探討第一個最佳化的過程,剩下的就敬請期待後續!
https://talawah.io/blog/extreme-http-performance-tuning-one-point-two-million/
同時也有25部Youtube影片,追蹤數超過9萬的網紅Vikingbaby ヴァイキングベビー,也在其Youtube影片中提到,Nordgreenのウェブサイトはこちらです👇 https://bit.ly/396aAAW ※日本語で注文できます! 割引コード:15%OFFクーポンコード【VIKING】 (このコードをお会計の時に使用すると15%オフになります) ➼この動画で紹介した腕時計の情報です👇 Native | ホワ...
「native perfect」的推薦目錄:
- 關於native perfect 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於native perfect 在 IELTS Fighter - Chiến binh IELTS Facebook 的最讚貼文
- 關於native perfect 在 Food of Hong Kong by Epicurushongkong Facebook 的最讚貼文
- 關於native perfect 在 Vikingbaby ヴァイキングベビー Youtube 的最讚貼文
- 關於native perfect 在 Vikingbaby ヴァイキングベビー Youtube 的最佳解答
- 關於native perfect 在 Xiaomanyc 小马在纽约 Youtube 的精選貼文
- 關於native perfect 在 客製化專屬設計鏡框Native Perfect-京采國際光學 的評價
- 關於native perfect 在 NATIVE PERFECT客製化鏡框 - YouTube 的評價
native perfect 在 IELTS Fighter - Chiến binh IELTS Facebook 的最讚貼文
❌ 5 LÝ DO MÌNH SẼ KHÔNG HỌC IELTS ONLINE Ở IELTS FIGHTER NỮA ❌
- Huhu, đăng ký liền luôn 3 lớp, nhận ngay cái kết quả này, mình sẽ không học IELTS online với IELTS Fighter trong năm này nữa đâu!
Xin chào, mình là Phạm Thanh Tú Anh, hiện đang học lớp 12 trường THPT tại Thái Binh. Mình đăng kí một lúc 3 khoá tại IELTS Fighter vì lúc đấy nghỉ dịch nên hứng học lắm với cả cũng do tìm được bà chị tư vấn thân thiện quá trời.
Sau khi học xong thì mình sẽ không học ở trung tâm trong năm 2021 này nữa đâu vì:
✅ Thầy cô gì đâu mà đáng yêu, luôn nhiệt tình, năng lượng gây thương nhớ mỗi ngày.
✅ Lớp học gì đâu mà học online có gặp nhau đâu mà cũng sôi nổi, học lớp nào cũng vui.
✅ Trung tâm gì đâu mà học chính rồi còn học bổ trợ cuối tuần, giữa tuần nữa, học đến mệt luôn á.
✅ Các chị tư vấn gì đâu mà sách gửi về tận nhà rồi còn gửi cả các link tài liệu khác.
✅ Và mình đã được 7.5 Overall rồi nên bước tiếp theo mình sẽ hoàn thành việc thi đại học, sau đó mới quay lại học để nâng band hơn trong tương lai.
Sau đây thì mình xin chia sẻ một chút về quá trình rèn luyện các kĩ năng của mình, điều thành công nhất sau 3 khoá tại trung tâm đối với mình là sự tiến bộ có thể thấy rõ ở điểm số.
📌 BẮT ĐẦU TỪ "LOVE" F
ITF_005 của cô Andrea Kiều Anh
Ở lớp F thì chủ yếu mình làm quen với các dạng đề, bước đầu “say hello” với IELTS nên điểm cũng không đặc biệt quá.
Cô chủ yếu dạy về các cấu trúc và từ vựng dùng trong task 1 về trend hay miêu tả figures. Task 2 thì cũng chỉ tìm hiểu về các dạng đề chứ chưa đi sâu hẳn cùng với các tiêu chí speaking mà cô luôn nhắc đi nhắc lại “ Lexical resouce, Grammar, Coherence and Cohesion”. Đến giờ không hiểu sao vẫn văng vẳng trong đầu.
Về Reading thì mình cũng nghe cô hướng dẫn để hiểu cách làm và câu hỏi hơn nên điểm tiến bộ vẫn rõ rệt. Tuy nhiên Speaking và Writing thì mới chỉ là bước đầu nên chưa thấy rõ sự thay đổi.
📌 TỪ KHÓA HỌC THỨ 2, TRÌNH IELTS ĐÃ SANG TRANG
ITA_015 của “bà” Nhi Điện- thanh niên hai mấy tuổi đầu vẫn bị học viên diss lên diss xuống 🥰
Cá nhân mình thấy thì đây là khoảnh khắc thay đổi toàn bộ quá trình học IELTS của mình và cũng là lớp đáng nhớ nhất hiu hiu.
Trước hết thì xin chia sẻ vài lời cảm thông đến các bạn học viên của cô Nhi, vì đã may mắn sống sót qua những ngày tháng bị deadline dí từ đầu tuần đến cuối tuần, ăn ngủ, đi WC cũng lo không chạy kịp deadline nộp homework =))) Ngay buổi đầu vào đã bị sang chấn vì khả năng bắn rap liên tù tì hơn hai tiếng và đống bài về nhà cô không quên nhắc nhở từ lúc bắt đầu đến lúc lớp kết thúc. Nhưng cũng vì tần suất làm bài dày đặc như vậy nên mình mới bắt đầu tiến bộ lên…
👉 Reading
Đây là kĩ năng mình tự tin cực kì vì phương pháp làm bài đơn giản mà siêu đỉnh của cô “Đọc câu hỏi - Đọc từng đoạn - Tìm câu paraphrase”. Luôn cố gắng ép bản thân hoàn thành 3 passages trong 45’ và dành 15’ để check lại, không mất thời gian vào những câu quá phân vân và phải luôn tìm được thông tin đã paraphrase mới chọn đáp án.
Mình cũng thử đọc báo New York Times hay BBC News giống cô nhưng mà chịu =))) oải lắm, đọc báo tiếng việt còn chưa xong nên thi thoảng mình tìm mấy bài viết về chủ đề ưa thích như animals, photograph hay movie reviews trên facebook với instagram để đọc chơi chơi.
👉 Speaking
Qua khoá học này nhờ các techniques cô hướng dẫn mà mình thấy part 1 và part 2 của mình tiến bộ nhất. Mỗi câu part 1 để mở rộng ý mình dùng 1 technique và 4 rules of thumb do cô hướng dẫn để ăn điểm.
Nhưng speaking thì practice makes perfect nên mỗi buổi speaking cô giao bài mình luôn dành tầm 1h30 đến 2h mỗi ngày để lên idea, ghi âm cho đến khi đọc không vấp cho 1 đề part 2. Sau đó gửi cho cô để nhận xét về những lỗi phát âm chưa chuẩn và nghĩ ý mượt mà hơn.
Mình thì thích độc thoại nên cứ có câu tiếng anh nào mình sẽ đọc lên bằng mồm câu đó, xem phim đọc sách hay nghe nhạc thì mình sẽ lặp lại để luyện độ fluency và accent của native speakers. Trước hôm thi thật mình cũng gọi điện cho cô để luyện speaking cho tự tin và nghe cô dặn dò nên tâm lí cũng thoải mái và không căng thẳng lắm.Nhưng điểm speaking của mình lại không đạt được như mình aim trước đó nên cũng hơi tiếc một xíu.
👉 Writing
Mình nói thật là kĩ năng này của mình dòng đời đưa đẩy lắm =))) siêu kém, vì nó khó với dễ nản cực kỳ. Mỗi lần học là y như rằng ngáp lên ngáp xuống nên giờ tạm thời mất trí nhớ. Không biết đã học writing được gì qua khóa này nhưng quan trọng là nhờ khuôn khổ thúc ép làm bài của cô Nhi thì mình đã học được cách time-management, kĩ năng quan trọng nhất và học thuộc hết tất cả các dạng bài writing còn nhớ cách làm hay không thì không biết hihi.
👉 Listening
Listening thì đúng là tuột dốc không phanh nhưng mà cô Nhi bảo là nó do cái lý thuyết nên một lúc nào đấy mình sẽ lấy lại được phong độ. Nên mình chăm chỉ luyện Cam mỗi ngày 1 test listening. Vì mình thi máy nên vấn đề lớn nhất là việc typing trên máy sẽ không tiện bằng ghi ra giấy.
Để luyện tập thì mình có dùng phần mềm “Sticky notes” trên máy tính đồng thời vừa mở youtube bật speed up 1.25 và đọc câu hỏi trực tiếp trên màn hình và note đáp án lại. Mình luyện theo phương pháp này tầm 1 tháng trước khi thi thôi, kiên trì ngày nào cố gắng 1 test trừ tuần cuối ra thì 2,3 ngày mình mới nghe để đầu óc thư giãn và từ 6.5 mình nhảy lên được 8.0 listening beyond wildest dreams luôn á hihi.
Ngoài quyển Cam thì mình cũng không luyện nguồn nghe nào khác, thi thoảng xem mấy chương trình trên youtube hoặc là xem phim engsub. Mình có xem “Emily in Paris” bằng engsub vừa cố nghe hiểu vừa học từ mới ở chỗ sub nên nói chung là mỗi người sẽ tìm được cái luyện tập phù hợp và hiệu quả nhất với bản thân thui heng.
📌 LỚP B LÀ ƯU TIÊN SỐ 1 ĐỂ PRACTICE NHIỀU NHẤT
ITB_012 của youtuber triệu view, “nghệ sĩ nhân dân” Lê Hải Đăng
Lớp B là lớp practice nhiều nhất đặc biệt là Speaking và Writing, nếu bạn không tin thì 1 buổi speaking lớp mình đã giải quyết được gần 20 đề chỉ xoay quanh câu chuyện người ông và khu vườn lịch sử =)))
Ngoài ra thì mình còn luyện speaking với thầy bằng những màn combat nảy lửa không hồi kết và truyền bá skill chém gió bay nóc nhà với phương châm đi thi là 1 version còn ngoài đời em là 1 version khác.
Speaking thì mình đã in bộ đề forecast ra và học theo cách chia dạng, gộp đề theo topic của thầy, mỗi ngày bỏ ra tự độc thoại hỏi và trả lời để luyện phản xạ.
Writing thì mình tập cách paraphrase đề bài trong 2’ để tiết kiệm thời gian và tập trung vào nghĩ idea. Sau đó luyện viết nhiều để quen cách viết, phân tích lên band điểm, thầy cô luôn chữa bài chi tiết nên mình rút ra được các lỗi sai.
Mình nghĩ khi đi thi hãy làm task 2 trước vì “it can save you a lot” ^^ và nhớ tiêu chí sau: Luôn dành 5-7’ brainstorm cho task 2 và 3-4’ để proofread.
📌 KHÔNG BAO GIỜ HỐI HẬN VÌ ĐÃ CHỌN IELTS FIGHTER
Cảm ơn cô Cừu đã ngồi tâm sự xàm xí cùng em về mấy chuyện cờ rút các thứ, và cũng xin chân thành xin lỗi cô vì những lần làm việc riêng trong lớp và muộn deadline hihi.
Cảm ơn thầy Đăng vì ngồi cãi nhau với em cả tối và dạy em cách Speaking lên trình.
Và người đặc biệt nhất - cô Nhi Điệnnn. Xin trung tâm xem xét lại, hay bắt học viên học quá giờ có hôm đến 10 rưỡi 11h , xong còn giao rất nhiều bài về nhà. Đã thế học viên sang học lớp khác rồi nhưng nửa đêm hỏi bài cô vẫn còn làm nguyên bài sớ 7749 trang để giảng giải hướng dẫn. Đi dạy về thì lười tẩy trang gọi điện cho học viên luôn để practice speaking trước khi thi luôn chứ. Thử hỏi ở đâu có bà giáo như này không =)))
Cuối cùng thì dù bạn đến IELTS Fighter và học thầy cô giáo nào thì cứ yên tâm nhé vì ai ở IELTS Fighter cũng rất chi là dễ thương. Hồi mình học gia sư và bổ trợ gặp các thầy cô khác ngoài thầy cô dạy chính mình nhưng ai cũng tận tình hết ý. Chúc các bạn có những trải nghiệm vui vẻ tại trung tâm và đạt được điểm mong muốn nheee.
Đến đây thì cảm ơn bạn đã đọc bài review siêu dài dòng của mình. Chúc các bạn may mắn trong kỳ thi sắp tới nhé <3333
---------------------------------------
Học ba lớp với bao kỷ niệm. Cảm ơn Tú Anh đã tin tưởng chọn IELTS Fighter đồng hành thời gian qua. Chúc em nhiều sức khỏe và thành công hơn nữa trong cuộc sống nha ❤
Các bạn ạ, học online chán, không vui ư? Không, hình thức học online hay offline không quan trọng, quan trọng là có lộ trình đúng hướng, trên con đường đó có những người thầy người cô tận tâm, áp dụng phương pháp giảng dạy hiệu quả, có tài liệu học đầy đủ.
Với IELTS Fighter, những điều đó đều được đảm bảo, áp dụng phương pháp RIPL toàn diện, giáo trình chuẩn chỉnh và đội ngũ giáo viên chuyên môn giỏi luôn không ngừng nâng cao trinh độ, kỹ năng để đồng hành cùng các bạn học viên mỗi ngày.
________________________
Cmt ngay hoặc inbox qua m.me/ielts.fighter để được tư vấn lộ trình học phù hợp ngay hôm nay nha ❤
IELTS Fighter - Tiên phong phổ cập IELTS cho người Việt
HỆ THỐNG 29 CƠ SỞ trải dài từ Bắc vào Nam
native perfect 在 Food of Hong Kong by Epicurushongkong Facebook 的最讚貼文
🌟🌟 順德龍蝦大良炒鮮奶 Shunde style Scrambled Milk & Egg Whites with Lobster meat. HKD $698
An almost perfect version of 炒鮮奶. Great treatment of the milk seasoning taste, also the whole smashed 欖仁 Indian Almond seed, Shaved Chinese ham 腿蓉, etc. If you can find a better version in Hong Kong, pls let me know 😋
🔸大良生拆魚雲羹 Freshwater Fish Head Soup with Tofu, Egg Whites & Bamboo shoots, etc. $138
The strange thing about【帝苑軒 Royal Garden Chinese Restaurant, Royal Garden Hotel, TST East, HK】, is that its a general Hong Kong-Cantonese restaurant. But Chef Ho 何偉成師傅 is actually a Shunde native, but the restaurant only does Shunde micro cuisine promotions yearly. And which is why I have to look at their Calendar carefully to remind ourselves to come 😋!
native perfect 在 Vikingbaby ヴァイキングベビー Youtube 的最讚貼文
Nordgreenのウェブサイトはこちらです👇
https://bit.ly/396aAAW
※日本語で注文できます!
割引コード:15%OFFクーポンコード【VIKING】
(このコードをお会計の時に使用すると15%オフになります)
➼この動画で紹介した腕時計の情報です👇
Native | ホワイトダイヤル - 雪色ストラップ × 1
36mm / ローズゴールド
Philosopher | ホワイトダイヤル - 墨色ストラップ × 1
40mm / ガンメタル
こんにちは!
ノルウェー在住、育児ママのえみです!
今回は、ノルウェーのCMを見て家族みんなでリアクションする動画です。
ご覧くださってありがとうございます♡
動画が良いと思ったらチャンネル登録よろしくお願いします♡
みなさんの意見をコメントでおまちしております!
提供:NORDGREEN
➳私達が使用しているカメラ
https://amzn.to/2STIphA
➳私達が使用している低速ジューサー
https://amzn.to/2NxV0RN
⇝私たちのInstagram👇
https://www.instagram.com/vikingbby/
⇝私のInstagram👇
https://www.instagram.com/e_zehcnas/
⇝マイケルのInstagram👇
https://www.instagram.com/vikingddy/
↓お仕事のご依頼はこちらからご連絡ください!
VikingBabyBusiness@hotmail.com
☀️私達にお手紙を送りたい場合は宛先こちらです☀️
Vikingbaby
Postboks 123
1662 ROLVSØY
Norway
エンディング曲♪
Track: Unknown Brain - Perfect 10 (feat. Heather Sommer) [NCS Release]
Music provided by NoCopyrightSounds.
Watch: https://youtu.be/AEVaK0e1kTE
Free Download / Stream: http://ncs.io/P10YO
native perfect 在 Vikingbaby ヴァイキングベビー Youtube 的最佳解答
こんにちは!
ノルウェー在住の主婦えみです!
今回の動画は、私の息子・イーライ (3歳児)の英会話レッスンを紹介する動画です。
今回の動画をご覧くださってありがとうございます♡
動画が良いと思ったらチャンネル登録よろしくお願いします♡
みなさんの意見をコメントでおまちしております!
List of the words in this video:
Very Bad - Awful
Very Good - Excellent
Very Exciting - Exhilarating
Very Colorful - Vibrant
Very Boring - Dull
Very Rich - Wealthy
Very Big - Massive
Very Clean - Spotless
Very Nice - Wonderful
Very Short - Brief
Very Valuable - Precious
Very Cute - Adorable
Very Calm - Serene
Very Tasty - Delicious
➳私達が使用しているカメラ
https://amzn.to/2STIphA
⇝私たちのInstagram👇
https://www.instagram.com/vikingbby/
⇝私のInstagram👇
https://www.instagram.com/e_zehcnas/
⇝マイケルのInstagram👇
https://www.instagram.com/vikingddy/
↓お仕事のご依頼はこちらからご連絡ください!
VikingBabyBusiness@hotmail.com
Music by Kevin by Kevin MacLeod is licensed under a Creative Commons Attribution
エンディング曲♪
Track: Unknown Brain - Perfect 10 (feat. Heather Sommer) [NCS Release]
Music provided by NoCopyrightSounds.
Watch: https://youtu.be/AEVaK0e1kTE
Free Download / Stream: http://ncs.io/P10YO
#海外育児#日常英会話
native perfect 在 Xiaomanyc 小马在纽约 Youtube 的精選貼文
Today I hit the streets of an awesome Latino neighborhood right here in NYC and went to work practicing my Spanish in public, amusing the locals (most of whom are native speakers) with my Spanish, which is fluent but definitely not perfect! I made some funny mistakes, but I also had a great time chatting with people from Mexico and Colombia and other Spanish-speaking countries, and of course enjoying the amazing Latino food of Jackson Heights, Queens! I had a great time making this video and I hope you enjoy it!!!
Remember to check out https://baselang.com/xiaomanyc to get $10 off unlimited Spanish tutoring! Thanks to them for the sponsorship but it honestly is the best way to learn Spanish online and it is how I personally learned Spanish, I think it’s an incredible program!
Learning Spanish through Stories?
The course I used initially to give me a good foundation in Spanish was called “Spanish Uncovered” by the polyglot Olly Richards, which is a way to learn Spanish naturally through stories. I really enjoyed it, and it seems to be an excellent way to get a good foundation in a new language. http://bit.ly/3pPB0we
Subscribe to my channel: https://www.youtube.com/channel/UCLNoXf8gq6vhwsrYp-l0J-Q?sub_confirmation=1
Follow me on Instagram: https://www.instagram.com/xiaomanyc/
Follow me on Facebook: https://www.facebook.com/xiaomanyc/
If you guys like the music in my videos, you can check out all the AMAZING music Epidemic Sound has at my affiliate link here: http://share.epidemicsound.com/xiaomanyc
native perfect 在 NATIVE PERFECT客製化鏡框 - YouTube 的必吃
NATIVE PERFECT 客製化鏡框. 54 views · 4 years ago ...more. 京采國際光學. Subscribe. 0. Share. Save. Report. Comments. thumbnail-image. Add a comment. ... <看更多>
native perfect 在 客製化專屬設計鏡框Native Perfect-京采國際光學 的必吃
客製化專屬設計鏡框Native Perfect-京采國際光學, 桃園市桃園區。 2384 個讚· 1 人正在談論這個。營業時間週一~週五9:00-18:00 週六週日及例假日 ... ... <看更多>