Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno

 Mấy ngày hôm nay trên Twitter đang rộ lên thông tin Bun.sh vừa mới ra đời, tạo ra một môi trường runtime chạy JavaScript nhanh hơn Nodejs và Deno. Nghe có vẻ hay hay thì chịu khó ngồi test xíu xem sao. :)


Như trên trang chủ của nó thì khá mạnh dạng đưa ra ra so sánh luôn , slogan của nó như sau : Bun is a fast all-in-one JavaScript runtime.


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno


Bài viết này chỉ mang tính chất test benchmark bằng những bài test của Bun.sh đưa ra nhằm mục đích ngắm nghía xem có gì hot không thôi, tất cả đợi thời gian và cộng đồng Javascript cân qua rồi đánh giá (lót dép hóng, hy vọng ngon thiệt :) )


https://github.com/oven-sh/bun


Sau khi clone về thì sẽ chạy benchmark xem có gì ok không, để mang tính chất công bằng thì cú mỗi thứ chạy 3 lần là ok.

Trước tiên trên máy test cần cài đặt : Node, Bun và Deno


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno

Phần benchmark Log kết quả như sau :


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno


Phần benchmark gZip kết quả như sau :


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno

Phần benchmark async kết quả như sau :


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno


 Phần benchmark query data  Sqlite kết quả như sau :


Bun.sh là gì, liệu nó có thể thay thế được Nodejs và Deno


Kết quả ở trên chạy trên máy tính cá nhân, với kết quả benchmark mang tính khách quan, hy vọng tương lai chúng ta sẽ có nhiều lựa chọn hơn để giải quyết nhu cầu bài toán mình cần đặt ra :)


Nhãn:

How to make color chém gió với người không biết trên Linux bằng eDex-UI

 

Tối nay rãnh rỗi chém gió về cách làm màu trên linux như sau, như bạn coi các phim về IT, hacker bla bla nhìn màn hình thấy hết hồn ngầu như chó cảnh :) mà không biết họ dùng hệ điều hành gì. OK, giờ chém gió xíu về nó.


How to make color chém gió với người không biết trên Linux bằng eDex-UI
(internet)

Hôm nay sẽ nói về eDex-UI là một app viết bằng Javascript và dùng electron(framework chạy trên môi trường nodejs hỗ trợ làm desktop application). Đối với eDex-Unhìn chém gió ngầu lòi khịa thiên hạ được thì bạn cũng sẽ dùng mọi thứ từ os của bạn, bị nó chỉ khác là gắn giao diện thôi, còn lại không gì thay đổi


Bạn có thể tải nó về code thêm, edit hay làm gì bla bla bạn thích nếu bạn có xíu kiến thức về js là ok.


https://github.com/GitSquared/edex-ui.git


Sau khi clone về muốn làm gì làm xong đóng gói lại là ok.


How to make color chém gió với người không biết trên Linux bằng eDex-UI


Đối với ai lười hoặc không muốn đụng chạm gì đến mã nguồn hoặc không muốn đụng đến code thì tải cái người ta đóng gói sẵn đem về chạy lên là dùng, bỏ qua phần trên


https://github.com/GitSquared/edex-ui/releases/tag/v2.2.8


How to make color chém gió với người không biết trên Linux bằng eDex-UI

Sau khi downlaod về thì làm 2 bước sau là ok (bên dưới sẽ chạy cho linux)


chmod +x eDEX-UI-Linux-x86_64.AppImage


./eDEX-UI-Linux-x86_64.AppImage


How to make color chém gió với người không biết trên Linux bằng eDex-UI

Cuối cùng là ảo ma như sau :)


How to make color chém gió với người không biết trên Linux bằng eDex-UI


How to make color chém gió với người không biết trên Linux bằng eDex-UI


How to make color chém gió với người không biết trên Linux bằng eDex-UI

G9 and sweet dreams!

Nhãn:

Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather

 OK, hôm nay không đi làm ngồi lướt web thì thấy thời tiết nóng quá chịu không nổi, dạo này thời tiết ngày càng nóng, tự nhiên ngồi ngẫm ngẫm bala linh tinh xong nghĩ giờ mà ở sân bay các khi khu vực thời tiết sao ta. Không biết các khu vực khác như thế nào, hay đi du lịch ta bla bla.

Tự nhiên nghĩ tới nghĩ lui ra bài viết này, ok giờ ngồi chém gió thôi, giờ các mục chém gió sẽ như sau: 

-Station : sẽ check thông tin ở các Airport, terminal ở các khu vực thời tiết sẽ như thế nào, US,UK bla bla :) rồi kiểm tra thời tiết ở đó ra sao

-METAR: đây là một định dạng để báo cáo thông tin thời tiết hiện tại, hôm nay mình sẽ dùng nó để tracking theo 1 chuyến bay nào đó, ví dụ như BL111, AK222 bla bla, cái này sẽ lấy ngẫu nhiên từ internet :)

-TAF: Check thông tin dự báo như khu vực nào đó nếu dự định đến đó thì thời tiết như thế nào, dự báo nó có mưa năng gì không :)

Hôm nay sẽ dùng Nodejs connect đến Checkwxapi.

Đầu tiên đăng kí tài khoản tại Checkwxapi.


https://www.checkwxapi.com/user/api


Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather


Sau khi đăng kí  thành công đã có được API Key thì tiến hành xúc thôi

Station : đối với station thì thì bạn cần biết IATA Code / ICAO code.

Tổ chức Hàng không Dân dụng Quốc tế (tiếng Anh: International Civil Aviation Organization; viết tắt: ICAO)

International Air Transport Association airport code (Mã sân bay IATA)

Tại sao cần cái này, vì mỗi airport hay Terminal nào đó đều có 2 mã định danh này đễ phân biết các airport trên thế giới, mỗi nơi sẽ có mã khác nhau, bạn có thể tìm hiểu thêm ở internet (Nếu nó thuộc tổ chức thì bắt buộc có)

Ok, giờ nhập thông tin ICAO vào sẽ thu được kết quả sao khu vực airport và nhiệt độ , độ ẩm bla bla hiện tại.

IATA: BKK -  ICAO:VTBS


const axios = require('axios');
const readline = require('readline');
require('dotenv').config();
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
const getAirport = async (airport) => {
    const url = `https://api.checkwx.com/station/${airport}`;
    const response = await axios.get(url,{
        headers: {
            'X-API-KEY': process.env.API_KEY
        }
    });
    const data = response.data;
    return data;
}
const getMETAR = async (airport) => {
    const url = `https://api.checkwx.com/metar/${airport}/decoded`;
    const response = await axios.get(url,{
        headers: {
            'X-API-KEY': process.env.API_KEY
        }
    });
    const data = response.data;
    return data;
}
rl.question('Please enter ICAO: ', async (airport) => {
    const data = await getAirport(airport);
    const metar = await getMETAR(airport);
    console.log('----------------------------------------------------');
    console.log('City - ',data.data[0].city);
    console.log('Country - ',data.data[0].country.name);
    console.log('Latitude - ',data.data[0].latitude.decimal);
    console.log('Longitude - ',data.data[0].longitude.decimal);
    console.log('Name - ',data.data[0].name);
    console.log('---------Weather---------');
    console.log('Dewpoint - celsius',metar.data[0].dewpoint.celsius);
    console.log('Humidity - %',metar.data[0].humidity.percent);
    console.log('Temperature',metar.data[0].temperature.celsius);
    console.log('Wind',metar.data[0].wind.degrees);
    console.log('----------------------------------------------------');
    rl.close();
});


Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather

oh yeah, cuối cùng cũng ra kết quả ngon lành cành đào :)


 - TAF : Giờ sẽ dự báo khu vực trên trong nhiệt độ sẽ như thế nào, nếu nói về dự báo thì sẽ có khung giờ cập nhật dữ liệu, thường thì 6 tiếng sẽ cập nhật 1 lần và theo khung giờ 0000, 0600, 1200 , 1800 theo giờ UTC, có thể convert qua giờ hệ thống của bạn.

TAF là dự báo thôi, nên dữ liệu tuỳ theo khung giờ khi bạn kiêm tra , ok chạy xem nào


const getTAF = async (airport) => {
    const url = `https://api.checkwx.com/taf/${airport}/decoded`;
    const response = await axios.get(url,{
        headers: {
            'X-API-KEY': process.env.API_KEY
        }
    });
    const data = response.data;
    return data;
}
rl.question('Please enter ICAO: ', async (airport) => {
    const data = await getAirport(airport);
    const metar = await getMETAR(airport);
    const taf = await getTAF(airport);
    console.log('----------------------------------------------------');
    console.log('City - ',data.data[0].city);
    console.log('Country - ',data.data[0].country.name);
    console.log('Latitude - ',data.data[0].latitude.decimal);
    console.log('Longitude - ',data.data[0].longitude.decimal);
    console.log('Name - ',data.data[0].name);
    console.log('---------Weather---------');
    console.log('Dewpoint - celsius',metar.data[0].dewpoint.celsius);
    console.log('Humidity - %',metar.data[0].humidity.percent);
    console.log('Temperature',metar.data[0].temperature.celsius);
    console.log('Wind',metar.data[0].wind.degrees);
    console.log('--------------------forecast--------------------------------');
    taf.data[0].forecast.forEach(element => {
        console.log(`${element.timestamp.from} - ${element.timestamp.to}`);
        console.log('clouds - ',element.clouds[0].text);
        console.log(`wind - degrees:${element.wind.degrees} - speed_kph:${element.wind.speed_kph} - speed_kts:${element.wind.speed_kts} - speed_mph:${element.wind.speed_mph}- speed_mps:${element.wind.speed_mps}`);
        console.log('--------------------Change--------------------------------');
    }
    );
    rl.close();
});


Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather


-METAR : Dự báo thời tiết hiện tại, ở phần trên cũng đã dùng đến để kiểm tra, nhưng cái hay là nó có latitude - longitude. Có thì sao, tại sao lại hay, phần này mình nói đến cuối cùng của bài việt vì mục đích của mình sẽ tracking nhiệt độ theo 1 máy bay đang bay.

Có nghĩa là sẽ lấy 1 toạ độ máy bay nào đó ngẫu nhiên đang, nó bay đến đâu thì sẽ tracking đến đó, vì lười quá nên phần toạ độ sẽ copy bằng tay :)

Đầu tiên sẽ vào flightaware bóc đại 1 máy bay nào đó mình thích.



Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather


Sau đó tìm được một chuyến bay đang bay



Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather


Thế là Track Log  nó ra là đã có được toạ độ của chuyến bay này. thế là test thôi :)


Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather


Nếu bạn lấy auto latitude - longitude thì càng tốt, ở đây chỉ copy tay cho nhanh :)


const axios = require('axios');
const readline = require('readline');
require('dotenv').config();
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
const trackingFlight = async (lat,lon) => {
    const url = `https://api.checkwx.com/metar/lat/${lat}/lon/${lon}/decoded`;
    const response = await axios.get(url,{
        headers: {
            'X-API-KEY': process.env.API_KEY
        }
    });
    const data = response.data;
    return data;
}

rl.question('Please enter lat: ', async (lat) => {
    rl.question('Please enter lon: ', async (lon) => {
        const data = await trackingFlight(lat,lon);
        console.log('----------------------------------------------------');
        console.log('clouds - ',data.data[0].clouds[0].text);
        console.log('dewpoint - ',data.data[0].dewpoint.celsius);
        console.log('humidity - ',data.data[0].humidity.percent);
        console.log('fly over area - ',data.data[0].station.location);
        console.log(`wind - degrees:${data.data[0].wind.degrees} - speed_kph:${data.data[0].wind.speed_kph} - speed_kts:${data.data[0].wind.speed_kts} - speed_mph:${data.data[0].wind.speed_mph}- speed_mps:${data.data[0].wind.speed_mps}`);
        rl.close();
    });
});


Chém gió về Checkwxapi dot com để lấy thông tin Aviation Weather

Trên đây xem như là đã hoàn thành phần chém gió về Checkwxapi, bài viết mang tính chất học thuật và chém gió, nếu bạn có nhu cầu sử dụng cho mục đích riêng hoặc công việc thì xem như đây là phần review thêm :)


Nhãn:

Reference - Sử dụng autocannon benchmarking tool để testing performance

 

Ok, như bài trước có nói sơ qua Sử dụng ab - Apache HTTP server benchmarking tool để testing performance, hôm nay sẽ nói về tool mình hay dùng cũng liên quan benchmarking đó là autocannon.


Reference - Sử dụng autocannon benchmarking tool để testing performance


Do đi làm có dính đến dự án Nodejs nên hầu như thích sử dụng tool này, nói sơ về nó thì là công cụ benchmarking viết bằng Nodejs nên sử dụng nó trong dự án khá là tiện lợi. OK đi vào chém gió sơ về nó nhé, cách làm thì cũng tương tự như bài trước, chém gió sơ sơ về các tiện ích thôi :)


Reference - Sử dụng autocannon benchmarking tool để testing performance



Trước tiên muốn giải quyết bài toán nào thì sẽ step by step để biết cái tool nó sẽ làm gì trước, khi biết nó rồi thì cứ tính lên mà dùng :)


Check sơ về help thì nó cũng khá đơn giản vì đã chú thích hầu như tận răng rồi :)


Reference - Sử dụng autocannon benchmarking tool để testing performance

Ban đầu chỉ cần 3 tham số sau là đủ để test, tham số này hầu như sẽ theo bạn trong suốt quá trình testing


c/--connections NUM
        The number of concurrent connections to use. default: 10.
  -p/--pipelining NUM
        The number of pipelined requests to use. default: 1.
  -d/--duration SEC
        The number of seconds to run the autocannon. default: 10.


Có thể xem con số default của nó để đưa ra cách tính cho riêng mình, OK,test xem 1 connect đại diện một người dùng thì nó request được bao nhiêu. Đối với autocannon nó sẽ lệ thuộc vào CPU của bạn để chạy cố gắng tạo ra nhiều request có thể.


Bài test sau sẽ tại 1 connections với 1 pipelined


autocannon http://localhost:3000/phamquangloc -c 1 -p 1


Reference - Sử dụng autocannon benchmarking tool để testing performance

Hiên tại nó đang chạy 1 processes thu được kết quả như trên : 2k request, bạn sẽ thu được độ trễ, thời gian trong quá trình kết nối đến server, qua đây bạn sẽ thu được hiệu xuất khi connections kết nối đến server và sự chịu tải của server.


Bài test tiếp theo sẽ nâng pipelined lên 2 và sẽ gọi worker threads, nâng số luồng lên để chạy và test xem sao nhé.


Reference - Sử dụng autocannon benchmarking tool để testing performance


autocannon http://localhost:3000/phamquangloc -c 1 -p 2 -w 2


Bạn sẽ thấy số request đã lên 3k , do đây test ở local nên không bị lỗi, hoặc timeouts nên request được response ngon lành.

Với lưu ý khi dùng benchmarking, bạn nên xem xét kỹ càng vì request lớn xem như đang DDOS hệ thống của bạn, tuỳ vào mục đích sử dụng mà truyền tham số phù hợp.


OK, ở trên autocannon xem như các ví dụ cơ bản để bạn kiểm tra hiệu suất server, có thể hỗ trợ bạn làm report hoặc xây dựng hệ thống lưu trữ định kỳ testing bla bla cũng được. Nó hỗ trợ Json bạn cũng có thể thoải mái dùng.


Reference - Sử dụng autocannon benchmarking tool để testing performance


Ok, xem nhe chém gió sơ sơ về autocannon benchmarking tool , còn khá nhiều điều hay ho lý thú bạn tham khảo thêm trên github, bạn có thể áp dụng vào dự án khi cần thiết. :)


https://github.com/mcollina/autocannon


Nhãn:

Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance

 Lâu lắm rồi mới ngồi viết blog lại, thời gian này khá là bận rộn nên không lâu rồi vẫn chưa viết được bài nào. Hôm nay sẽ không ngồi chém gió chơi chơi về benchmarking tool, có vài tool hay nhưng sẽ nói trước về AB trước nhé. :)

Nói sơ về về Apache HTTP server benchmarking tool - thì nó là tool do apache phát triển, mục đích của nó giúp đánh giá hiệu năng của một web server qua các tác vụ đo lường.

Cách cài đặt thì khá đơn giản, bạn có thể google là ra, vì thời gian có hạn nên hôm nay chỉ chém gió chơi chơi thôi chứ không đi sâu vào cách cài đặt, bởi vì sao tôi nói vậy ? nếu bạn đã quan tâm tới benchmarking , quan tâm tới testing bla bla thì ....


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance

OK, server thì dựng tạm một json server testing cho nhanh (Hiện tại test local thôi nhé)


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance

Cuối cùng là ngồi testing thôi :)

Bài thử nghiệm chính tôi muốn 5 người dùng kết nối đến server gởi đồng thời 1000 request.(Tổng 5 người / 1000 request => 1 người 200 request)

Đến đây đôi lúc bạn sẽ không hiểu lắm là cái méo gì là 1000  bởi 5 bla bla, để hiểu hơn về tool bạn phải step by step nhé. Tôi sẽ test từng bước cho bạn hiểu.


ab -n 1 -c 1 http://localhost:3000/phamquangloc


Tôi cung cấp 1 người đại diện và đồng thời 1 người đó chỉ gởi 1 request đến server


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance


Giờ tôi muốn cung cấp 1 người đại diện sẽ gởi 5 request tới server


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance


Cứ như vậy bạn sẽ hiểu được cách tính thế là áp vào bài toán lớn sẽ tính ra, giờ là yêu cầu chính như trên sẽ như sau


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance

Sau khi bài toán đưa ra đáp ứng được scenario móng muốn xem như ổn thoả thì ta sẽ check xem performance nó như thế nào, mỗi bài test tối thiểu chạy 3 lần sẽ mang tính công tâm nhất nhé :)


Reference - Sử dụng ab - Apache HTTP server benchmarking tool để testing performance

Kết quả thu được trong các quá trình test nên lấy kết quả trung bình để phân tích bạn sẽ thu được

Ưu điểm của nó :

Tính được thời gian

Độ dài của của response khi trả về trên request

Thời gian request, tốc độ truyền nhận ...


Qua kết quả trên sẽ phần nào giúp cho bạn có sự tính toán phù hợp cho mỗi dự án. Nó mang tính tương đối để phục vụ vào nhu cầu, đôi lúc không thể áp công thức dự án này cho dự án kia nên tool một phần giúp bạn tính toán tốt hơn để xây dựng hệ thống ok hơn :)


Hiện tại do nhu cầu cá nhân nên nhiêu đây đủ phục vụ rồi, nếu bạn có cần thêm thì tham khảo thêm phần help, hoặc muốn report báo cáo thì có thể tham khảo thêm trong đó sẽ hỗ trợ đầy đủ :)


Nhãn:

SUSE Certified Administrator (SCA) - Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

 Hôm nay sẽ nói về cách cài đặt Redis trên Suse Linux 15, nghe tới đây thì khi nói về Redis thông thường thì người ta sẽ nói đến dùng Docker cho nhanh vì chỉ cần docker-compose up là xong sẽ có cái dùng.


Ok,  và đây sẽ bỏ qua những khái niệm ở trên và sẽ bắt đầu cài đặt Redis trên SUSE Linux 15, nó khá đơn giản và khá nhanh như sau.


sudo zypper addrepo https://download.opensuse.org/repositories/server:/database/SLE_15/server:database.repo


sudo zypper refresh


sudo zypper install redis

Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

Như vậy là xong thôi, giờ là test thử nó có chạy hay không


sudo redis-server


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

Như trên thì phần default xem như chạy ok rồi đấy. Giờ câu hỏi sẽ đặt ra là nếu khởi động lại thì sao, nếu như nền tảng os khác thì systemclt enable bla bla thì trên Suse Linux sẽ như thế nào ? và custom config ra sao ? Muốn remote từ xa vào redis như thế nào ?

Ok, nếu config yêu cầu như trên thì cần tham khảo file config sau :


sudo ls /etc/redis/


Default trong này sẽ có file config mẫu, cần gì cứ xem trong đó ra sài, cái đơn giản nhất là như sau


sudo vi /etc/redis/redis.conf


bind 0.0.0.0
requirepass conchimnon@123
protected-mode no


Bind 0.0.0.0 để mọi nơi access từ xa, set password cho redis và cho phép remote, config trên là basic nhất để làm điều đó.

Sau khi đã có file config và cho nó chạy với file config đó dưới dạng background như sau


sudo redis-server /etc/redis/redis.conf --daemonize yes


Ping một phát mà nó Pong thì xem như ok


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Cuối cùng test kết nối từ xa thôi.


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Khi mọi thứ đã ok rồi thì sẽ tạo một service khi nào khởi động lại server thì Redis vẫn chạy ngầm


sudo vi /etc/systemd/system/redis.service


[Unit]
Description=Redis - phamquangloc.vn
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/sbin/redis-server /etc/redis/redis.conf
LimitNOFILE=10240
ExecStop=/usr/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target


sudo systemctl enable redis.service


sudo systemctl start redis.service


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Như trên là cách cài đặt khá là nhanh Redis trên SUSE Linux 15 và phần hay nhất của bài này sẽ là benchmark performance testing :)

 OK, sẽ dùng Nodejs test cho nhanh như sau, bắt đầu thôi.

Hiện tại kịch bản sẽ như sau : 


- Sẽ dùng /get-api kéo list api về và moij thứ sẽ đẩy vào redis. (Dùng ioredis để kết nối) và api này là kéo về từ https://covid19.mathdro.id

- Chạy /benchmark để nó test performance (api-benchmark)

- Sau khi benchmark xong nó sẽ xuất report thì /results sẽ đọc report đó lên

Ok đơn giản vậy thôi, xem đoạn code bên dưới để rõ hơn


const express = require("express");
const axios = require("axios");
const Redis = require("ioredis");
const app = express();
var apiBenchmark = require("api-benchmark");
const fs = require("fs");

const client = new Redis({port: 6379,host: "192.168.1.100",family: 4,password: "conchimnon@123",db: 0,});
client.on("connect", () => {
    console.log("Redis connected");
});

client.on("error", (err) => {
    console.log("Redis error: " + err);
});

const api = "https://covid19.mathdro.id/api/deaths";

app.get("/get-api", (req, res) => {
    try {
        client.get(api, (err, data) => {
            if (err) {
                console.log("Redis error: " + err);
            } else {
                if (data) {
                    console.log("Redis data: " + data);
                    res.send(data);
                } else {
                    axios.get(api).then((response) => {
                        client.set(api, JSON.stringify(response.data), "EX", 120);
                        res.send(response.data);
                    });
                }
            }
        }
        );
    } catch (error) {
        console.log(error);
    }
});

app.get('/benchmark',(req,res)=>{
    try {
        const services = {
            server1: "http://localhost:3000",
          };
        const options = {
            minSamples: 100,
          };
          
          var routerCache = { route1: "/get-api" };
        apiBenchmark.measure(
            services,
            routerCache,
            options,
            function (err, results) {
              apiBenchmark.getHtml(results, function (error, html) {
                fs.writeFile("results.html", html, function (err) {
                  if (err) return console.log(err);
                });
              });
            }
          );
          return res.send("Benchmark finished");
    } catch (error) {
        console.log(error);
    }
});

app.get('/results',(req,res)=>{
    try {
        res.sendFile(__dirname + "/results.html");
    } catch (error) {
        console.log(error);
    }
})

app.listen(process.env.PORT || 3000, () => {
    console.log("Node server started");
});


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

OK, chạy test xem sao nhé :)


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs


Cuối cùng kết quả thu được sẽ như sau:


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

Ok, bây giờ cache nó đã có data rồi, chạy tiếp nữa xem sao


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

Thấy nó nhanh hơn rồi, ví code EX set 120 mà nên chơi thoải mái, làm phát nữa xem nhanh hơn không


Cài đặt Redis trên SUSE Linux 15 và benchmark performance testing với api-benchmark - Nodejs

Report cuối nhảy xuống còn 0.29 đến 0.30 so với trên thấp hơn khá nhiều, đúng là sự lợi hại của cache :)

OK, ở trên là phần nói sơ về benchmark performance testing với api-benchmark, dùng để bổ trợ cho bài viết Cài đặt Redis trên SUSE Linux 15 . Hy vọng ai đọc được bài này rãnh rỗi cũng làm bài testing để cảm nhận hơn về Cache :)


Nhãn:

Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Các bài trước đã có nói về cách cài đặt và cấu hình Nextcloud trên SUSE Linux 15 như thế nào rồi, vậy sau khi cài đặt xong thì ít nhất cũng ngồi chém gió xem nó có những gì nổi trội và có thật sự là một lựa chọn cho chung ta hay không.


OK, hôm nay sẽ show ra những cái thú vị của nó có như sau:


Files

Đối với phần file thì nó đáp ứng đầy đủ các như cầu uploads data lên private cloud, cái này hầu như thiết yếu và cần thiết, đối với hê lưu trữ thì vấn đề này đã giải quyết trơn tru ngon lành.

Như bài trước có nói cách cài đặt và cấu hình Collabora Online - Open source online office suite thì sau khi tích hợp vào bộ office online này thì sức mạnh online càng mãnh mẽ hơn, nếu ai đã dùng qua sharepoint thì sẽ hiểu Nextcloud tích hợp Collabora online nó sử dụng tốt như vậ đấy.

Chia sẽ public hay internal  thì cũng có hết, nói chung là bá đạo, nên phần này sẽ không nói nhiều.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Photo

Đối với phần photo này thì upload hình ảnh, chia sẽ hình ảnh thì cũng tương tự như office, nên không cần bàn cải nhiều :)


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Activity

Đối với activity thì nó sẽ lưu lại nhật ký hoạt động trong quá trình thao tác sử dụng, như tạo file, sửa file bla bla, mục đích giúp bạn tra cứu lại quá trình làm việc tốt hơn thôi.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Talk

Phần này khá thích có thể dùng chat nội bộ, video call khá là hay, nếu dùng cho nội bộ khá ok chia sẽ file, hướng dẫn qua chat, call video khá là ok, nhanh mau lẹ. Cái này khá là thích khi tích hợp vào Nextcloud.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho


Đối với phần video call, Nextcloud có khuyến cáo khoản 10 user đổ lại cùng call thì sẽ mang lại cuộc gọi tốt nhất, cái này cũng ok. Tùy theo nhu cầu mà sử dụng, cái này tùy thuộc vào giải pháp để lựa chọn cho phù hợp.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Mail

Có cả phần tích hợp mail, có thể cài imap trên này để check mail luôn một lần, cái này tùy vào mỗi người có thể thích hoặc không.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Contacts

Đối với phần Contacts thì khá là tiện ích, có lẽ nó hỗ trợ lưu trữ thông tin liên lạc rất là tốt, chia group ra để phân biệt công việc khá ok.

Cái thích nhất trong contacts này là phần Circle , ví dụ như có một công viêc A có nhiều thành viên tham gia, tạo ra một Circle và quăng link qua thì họ sẽ có full info để liên hệ, việc này khá là thích.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Calendar

Cái này thì khá hay rồi, ai làm việc liên quan đến mail nhiều, làm việc văn phòng nhiều thì không xa lạ gì về Calendar rồi :)


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho



Deck

Đối với nextcloud thì tích hợp  Deck làm cho bản thân khá là thích, nó giúp ta lên kế hoạch cho dự định sắp làm khá là hay. Nó áp dụng theo kiểu Kanban khá là hay, nếu bạn có tính toán phân định kế hoạch cho công việc của mình thì ứng dụng này rất tuyệt vời.

Hình bên dưới đây mô tả công việc na ná mục đích nói ở trên


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Apps to sync your files

Hầu như mọi nền tảng đều có apps để bạn sử dụng từ windowns, mac, android bla bla, bạn cũng có thể tải apps về và trỏ đến domain của nextcloud và xúc thôi.


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho


Map network drive

Nhiều chị em văn phòng hay khó tính, lâu lâu hay nói IT công ty cũ chị nó làm vậy đó em làm được không kakaka. OK, nhiều gặp trường hợp chị muốn tạo ổ share cho chị sài chứ không dùng apps gì gì đấy thì ok luôn.

Nextcloud hỗ trợ WebDAV(Web-based Distributed Authoring and Versioning) nó hỗ trợ map network drive khá là tốt, việc này giúp kết nối khá tốt, đới với windowns người dùng dễ hơn vì tránh cài nhiều app. 






Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho





Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho

và có quá nhiều cái để chém nên chém sơ nhiêu đây thôi, chủ yếu là cần cái gì và muốn làm cái gì mà thôi. :)


Reference - Chém gió về Nextcloud có những module tiện ích gì hay ho


Nhãn: